downFileName=new String(downFileName.getBytes("utf-8"),"ISO8859-1");
以上代码号称可以解决下载文件名乱码问题,
但是一按下载键就报错找不到Input Stream,这是因为文件名编码存在问题。
public InputStream getInputStream() throws Exception{
String path2= java.net.URLEncoder.encode(paperfilepath,"utf-8");
String path3=java.net.URLDecoder.decode(path2,"utf-8");
System.out.println(path3);
File file=new File(path3);
return (new FileInputStream(file));
}
这样就变成File 读取中文文件名的问题,将文件名由utf-8转换成application/x-www-form-urlencoded MIME格式,
再转换回来,就可以解决文件路径中含有中文、空格、"+"号,等特殊字符。