【无标题】解决下载文件,文件名中文乱码问题

  • Post author:
  • Post category:其他


protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //读取下载文件
    File file=new File("D:/java/网页编程和设计/HTML、css、JS、JQ部分/01HTML5/img/章若楠.jpg");
    InputStream is=new FileInputStream(file);
    byte[] buff=new byte[is.available()];
    is.read(buff);
resp.addHeader("Content-Disposition","attachment;filename="+new String(file.getName().getBytes("gbk"),"iso-8859-1"));
    //在响应中添加附加信息
    //因为是字节输出流,所以响应的文件名,直接就是通过字节响应回去,就变成了乱码,
所以在响应前就要对中文文件名做字符转字节的操作。

上面的例子中,就是先把文件名按照gbk的方式转换成字节,然后用iso-8859-1转换成字符



版权声明:本文为weixin_46278059原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。