相信很多用过JSPSMARTUPLOAD吧。。其中下载文件名的中文乱码一直是大家头疼的问题。废话不多说了,首先去网上DOWN一个支持中文的JSPSMARTUPLOAD包(CSDN上就有下),下面是代码:
<%@ page contentType="text/html;charset=gbk" %>
<%@ page import="com.jspsmart.upload.*" %>
<%@ page import="zyc.chstr.*" %>
<%
String path=(String)request.getParameter("path");//这是我的文件路径(ex C:/文件夹名称)
String name=(String)request.getParameter("name");//这是我的文件名(ex 文件1.rar)
String path1=new Chstr().chStr(path);//这是我自己写的一个方法,将编码转为GBK,解决页面的中文显示问题
String name1=new Chstr().chStr(name);
String filepath=path1+"/"+name1;
SmartUpload su = new SmartUpload();
su.initialize(pageContext);
su.setContentDisposition(null);
su.setContentDisposition(null);
su.downloadFile(filepath,"",name);
out.clear();
%>
下面是我自己写的一个方法,将编码转为GBK,解决页面的中文显示问题
package zyc.chstr;
public class Chstr {
public String chStr(String str){
if(str==null){
str="";
}else{
try{
str=(new String(str.getBytes("iso-8859-1"),"gbk")).trim();
}catch(Exception e){
e.printStackTrace(System.err);
}
}
return str;
}
}
经过本机测试,乱码问题已经解决,特来分享~