用ajax下载smartupload的内容无法显示汉字情况,大有人遇到,下面给出服务器端以及客户端上的解决方案,感兴趣的朋友不要错过
复制代码 代码如下:
服务器端:
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
req.setCharacterEncoding("GBK");
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(),req,resp);
// 设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。
su.setContentDisposition(null);
//下载文件
try {
su.downloadFile("D://upload/"+"test.txt");
} catch (SmartUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
复制代码 代码如下:
客户端:
<script>
function getFile(){
$.get("<%=basePath%>LoadFileServlet","",function(data){
alert(data);
});
}
</script>
<a href="#">getfile</a>
txt中的中文内容不显示,如果通过超链接访问server端,下载后没有乱码
先MARK下,以后再看看