先看看效果图 :
Paket com.fenghuo.struts.download; import java.net.urlencoder; import java.util.map; import javax.servlet.http.httpservletRequest; impor javax.servlet.http.httpservletrespons; impor.apachecactp.httpservleteSpons; org.apache.struts.action.actionforward; impor org.apache.struts.action.actionmapping; impor org.apache.struts.actions.downloadAction; impor com.fenghuo.music.util.fileutils; pengunduhan kelas publik memperluas pengunduhan {@overrideprinfo streaminfo streaminfo mapping mapping mappaping mpingeMepping mping -{@soverrideprinfo streamINFO mpingfo miringfo miringfo miring mapping mpingfoPo mpingfoPo Mping -{@soverridepreMo streaminfo munging permintaan, respons httpservletresponse) melempar pengecualian {// 获取资源文件的名称 string resname = request.getParameter ("resname"); // 利用 struts 下载资源 return new downloadaction.resourcestreaminFo ("audio/x-mpeg", this.getServlet (). GetServletcext ()@audio/x-mpeg ", this.getServlet (). GetServletex (); ActionForward Execute (ActionMapping Mapping, ActionForm Form, httpservletRequest, httpservletResponse response) melempar Exception {// 向浏览器发送消息头 , 使文件以附件的方式打开 , 并找到资源名对应的文件名称发送给浏览器 string resname = request.getParameter ("resname"); Fileutils fu = new fileutils (this.getservlet ("reservlet"); fileutils fu = new fileutils (this.getServlet (("reservlet"); getseutils fu = new fileutils (this.getServlet (((). fu.getMusMap (); name string = musmap.get (resname); // 同时对文件名进行编码。在 firefox 下还是有乱码 , 不明白原因 , 望指教。 response.setheader ("konten-disposisi", "lampiran; nama file ="+ urlencoder.encode (nama, "UTF-8")); return.以上就是本文的全部内容 , 希望对大家的学习有所帮助 , 也希望大家多多支持武林网。