1、文件名乱码问题:
如果是本地window,文件名是
String fileName = new String(fileName.getBytes("utf-8"),"ISO8859-1");
如果是linux,文件名是
String fileName = new String(fileName.getBytes("gb2312"),"ISO8859-1");
总结就是看服务器的文件编码类型进行判断。
2、内容错误问题:
我遇到的问题是本地下载文件内容正常,linux服务器上下载会把html代码也作为文件内容下载到文件中。
解决方案是把下载的java代码写到jsp的最开始,下载结束后再编写html代码,因为jsp代码执行顺序是:java>html>js。
当把response设置为文件后,就会输出流里的内容写到文件里,而不是页面上。
但是我本地window下载代码不管写到哪里下载内容都是正常的,可能和jar包有关吧,都是玄学,有遇到相同问题的可以试下。
<% //获取文件名
String fileName = request.getParameter("file_name");
fileName = new String(fileName.getBytes("gb2312"),"ISO8859-1");
//获取文件路径
String filePa