我寫了一個下載中文文件的程序,代碼如下:
===============
<%@ page contentType="text/html;charset=GBK"
import="java.util.*,com.jspsmart.upload.*" %><%
// 新建一個SmartUpload對象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
// 設定contentDisposition為null以禁止瀏覽器自動打開文件,
//保證點擊鏈接后是下載文件。若不設定,則下載的文件擴展名為
//doc時,瀏覽器將自動用word打開它。擴展名為pdf時,
//瀏覽器將用acrobat打開。
request.setCharacterEncoding("gb2312");
su.setContentDisposition(null);
// 下載文件
String strid = request.getParameter("picname");
String ss = new String(strid.getBytes("GBK"),"UTF-8");
su.downloadFile(ss);
%>
======
如果下載的文件名不包括中文,就沒有問題,可是有中文的時候就不起作用了,我也用了已經修改過的可以下載中文的smartupload.jar,也不起作用。
下載文件名包含中文的時候,IE路徑為:
http://127.0.0.1:8080/www/1/do_download.jsp?picname=C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.0/webapps/www/upload/20050607150914.%E7%85%A7%E7%89%87%20011.jpg
為什么還是不可以顯示呀!!
謝謝!!
5 个解决方案
沒辦法,誰讓作者不是中國人^_^,不過好像聽說修改代碼可以滿足的
你的程序如何調用 load?picname=文件名帶路徑?
load.jsp?picname="d:\test.jsp" ??????