zoukankan      html  css  js  c++  java
  • response.setHeader("Content-disposition","attachment;filename="+fileName) 下载时文件名中存在空格错误

    最近在进行文件下载时发现一个问题,就是下面语句运行时,下载某些文件正常,下载某些文件异常,后来发现文件名中有空格的文件火狐浏览器是默认将文件名截断了的

    response.setHeader("Content-disposition","attachment;filename="+new String(fileName.getBytes("gb2312"),"iso8859-1"));

    但是在IE上面就是正常的,解决问题的方法有两种,一种比较简单,就是先判断是否是火狐,如果是火狐,则将文件名中的空格去掉,

    String agent = (String)request.getHeader("USER-AGENT");
    if(agent != null && agent.indexOf("MSIE") == -1) {
      try {
        fileName2=new String(fileName.replace(" ","").getBytes("gb2312"),"iso8859-1");
      } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
      }
    }
    response.setHeader("Content-disposition","attachment;filename="+fileName2);

    另外一种就是加密解密,可以参考这里

  • 相关阅读:
    Python 双向链表的实现
    Python 单链表实现
    分享两种 Python 中的单例模式
    HTML 盒子模型
    HTML 行高
    HTML 超链接 文本修饰 背景属性
    HTML 标签分类
    HTML 文字,样式表
    HTML CSS
    HTML 锚点 空链 超链优化写法
  • 原文地址:https://www.cnblogs.com/klbc/p/4672836.html
Copyright © 2011-2022 走看看