易截截图软件、单文件、免安装、纯绿色、仅160KB

jsp实现文件下载与中文文件名乱码问题解决

问题如下:
之前,写过一个Download.jsp文件,可以解决下载文件乱码问题(诸如:DOC,XSL文件等等).
后来发现,遇到中文名的文件的时候,文件下载将会报错~~~~
今天,通过改写原Download.jsp文件已经彻底解决了这个问题~
现在,把一整套的文件上传下载的方法给贴出来~~~以便大家借鉴!~!~!~!~! 
作者:古埃及法老
download.jsp文件
---------------------------------------------------------
<%
  java.io.BufferedInputStream bis=null;
  java.io.BufferedOutputStream  bos=null;
try{
 String filename=request.getParameter("filename");
             filename=new String(filename.getBytes("iso8859-1"),"gb2312");
 response.setContentType("application/x-msdownload");
 response.setHeader("Content-disposition","attachment; filename="+new String(filename.getBytes("gb2312"),"iso8859-1"));
 bis =new java.io.BufferedInputStream(new java.io.FileInputStream(config.getServletContext().getRealPath("files/" + filename)));
 bos=new java.io.BufferedOutputStream(response.getOutputStream()); 
 byte[] buff = new byte[2048];
 int bytesRead;
 while(-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
  bos.write(buff,0,bytesRead);
 }
}
catch(Exception e){
 e.printStackTrace();
}
finally {
 if (bis != null)bis.close();
 if (bos != null)bos.close();
}
%> 
注意,关键就是setHeader里的filename需要重新编码,格式是ISO-8859-1就OK了
以下是我自己项目中用到的代码片断,供参考:
list.jsp: 显示附件名称的页面
<tr>
            <td height="25" class="tdcor">附&nbsp;&nbsp;件&nbsp;</td>
            <td colspan="3"&


相关文档:

如何一个jsp页面处理多个form表单

首先是提交页面:三个表单(form1,form2,form3)
         <form name="form1" method="post" action="checklogin.jsp" class="niceform">
            <input name="qx" type="hidden" value="3">
&nb ......

jsp url传中文最简单正确的方法

在jsp中,如果在url中传递中文时会出现乱码,在网上关于这一问题的解决方法五花八门,但都不是很奏效!其实解决方法非常简单: 第一步:编码(以传递的参数为str为例) 在传递数据前将str进行编码Java.net.URLEncoder.encode(str) 第二步:解码 在获取数据端将得到的数据进行解码 new String(str.getBytes("ISO8859_1")) ......

jsp request session等对象 详解


jsp request session
等对象

详解
 
转者注:此文总结较为详细,值得参考。但部分内容经过整理,以下是正文。
 
1.request
对象
 
这两个对象是ASP所提供的内置对象中最常用的两个。在浏览器(或其他用户代理)和Web服务器之间,请求与响应中发生的信息交流可以通过ASP中的两个内置对象来进行 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号