精华内容
下载资源
问答
  • 下载文件名乱码

    千次阅读 2014-04-23 18:06:59
    文件名乱码问题解决
    File downFile=new File(path,fileName);  
       response.setContentType("binary/octet-stream");
    //解决文件名乱码,IE默认是gb2312,不能用UTF-8。
     response.setHeader("Content-Disposition", "attachment; filename=" + new String(downFile.getName().getBytes("gb2312"),"iso8859-1"));   
          ServletOutputStream servletOutputStream = response.getOutputStream();       
          InputStream is=new FileInputStream(downFile);      
          byte[] bytes = new byte[1024];
       while (true) {
        int chunk = is.read(bytes);
        if (chunk == -1) {
         break;
        }
        servletOutputStream.write(bytes, 0, chunk);
       }
       is.close();
       is = null;
    展开全文
  • 下载文件名乱码问题

    2020-11-10 14:33:02
    解决服务端下载方法中,浏览器客户端看到下载文件名乱码问题

    核型代码如下:

    String fn = "中文文件名文件.doc";
                String userAgent = request.getHeader("User-Agent").toLowerCase();
                //Java下载文件时IE浏览器出现文件名乱码
                // 针对IE或者以IE为内核的浏览器:  
                if (userAgent.contains("msie") || userAgent.contains("trident") ) {  
                    fn = java.net.URLEncoder.encode(fn, "UTF-8");  
                } else {  
                    // 非IE浏览器的处理:  
                    fn = new String(fn.getBytes("UTF-8"), "ISO-8859-1");  
                }  
                response.setContentType("application/octet-stream");
                response.setHeader("Content-disposition", "attachment;filename=\"" + fn + "\"");

    展开全文
  • Java 下载文件乱码问题介绍客户端下载文件名乱码需要将显示在客户端的文件名进行编码流程图结语 介绍 这篇文章理论水平不算很高,但是希望能帮到你。 客户端下载文件名乱码 首先,我们先了解为什么客户端的下载...

    介绍

    这篇文章理论水平不算很高,但是希望能帮到你。

    客户端下载文件名乱码

    首先,我们先了解为什么客户端的下载文件名会出现乱码的问题:

    1. 不同的浏览器的解码方式不同: FireFox 使用的是 Base64 编码,其他大部分浏览器 使用的是 URL 编码。所以在将文件名传输回客户端的时候需要将显示在客户端的文件名进行编码。

    需要将显示在客户端的文件名进行编码

    这里有两种方法可以解决

    1. 通用方案:
    filename = new String(filename.getBytes("GBK"), "ISO-8859-1");
    
    但是该方案不识别某些特殊的字符。所以不建议使用。
    
    1. 判断浏览器类型,使用浏览器识别的编码:
      通过获取浏览器的 User-Agent 头判断浏览器类型,从而决定文件名的编 码。直接上代码
    /**
    	 * 更改回显文件乱码问题
    	 * @param filename
    	 * @param request
    	 * @return
    	 * @throws UnsupportedEncodingException
    	 */
    	public static String filenameEncoding(String filename,
    			HttpServletRequest request) throws UnsupportedEncodingException {
    		// 获取浏览器信息
    		String agent = request.getHeader("User-Agent");
    		// 判断浏览器类型
    		if (agent.contains("Firefox")) {
    			BASE64Encoder base = new BASE64Encoder();
    			filename = "=?utf-8?B?" + base.encode(filename.getBytes("utf-8"))
    					+ "?=";
    		} else if (agent.contains("MSIE")) {
    			filename = URLEncoder.encode(filename,"utf-8");
    		} else {
    			filename = URLEncoder.encode(filename,"utf-8");
    		}
    		return filename;
    	}
    

    流程图

    Created with Raphaël 2.2.0开始要显示在客户端的文件名浏览器类型为FireFox?URL编码Base64编码yesno

    结语

    这篇文章是本人通过视频学习和查询一些资料写的,如果文章如有错误,欢迎大神指正。

    展开全文
  • java下载文件名乱码

    2016-12-14 14:23:46
    java 下载文件名乱码

    浏览器解析

    因为firefox编码不同于其它浏览器,只需设置下编码

    final String userAgent = request.getHeader("USER-AGENT");
    try {
        String finalFileName = null;
        if (StringUtils.contains(userAgent, "Firefox")) {// 火狐浏览器
        finalFileName = new String(fileName.getBytes(), "ISO8859-1");
    } else {
        finalFileName = URLEncoder.encode(fileName, "UTF8");// 其他浏览器
    }
    response.setHeader("Content-Disposition", "attachment; filename=\"" + finalFileName + "\"");
        // 这里设置一下让浏览器弹出下载提示框,而不是直接在浏览器中打开
    } catch (UnsupportedEncodingException e){}

    浏览器解析
    https://tools.scientiamobile.com

    这里写图片描述

    展开全文
  • golang文件下载文件名乱码

    千次阅读 2016-11-18 15:11:51
    golang文件下载文件名乱码 fileName = url.QueryEscape(fileName) // 防止中文乱码 其他参考前文:http://blog.csdn.net/zdyueguanyun/article/details/53216447
  • java下载文件名乱码的解决方法
  • swagger Excel下载 文件名乱码

    千次阅读 2019-12-18 17:38:05
    swagger Excel下载 文件名乱码导出后文件名变成下划线问题又来了 导出后文件名变成下划线 今天下午做模板导出的时候,swagger下载后文件名变成了下滑线,网速搜后发现,tomcat中使用的编码格式为ISO8859-1 String ...
  • 文件下载文件名乱码问题

    千次阅读 2019-04-13 12:08:05
    关于java文件下载文件名乱码问题的处理: String fileName = "下载的文件名"; String userAgent = request.getHeader("User-Agent"); //针对IE或者以IE为内核的浏览器: if (userAgent.contains("MSIE")||...
  • OSS 下载文件名乱码

    2021-03-18 22:21:29
    文章目录1、OSS 下载文件,文件名乱码(文件名是中文)2、下载乱码的代码如下:3、修正后的代码如下: 1、OSS 下载文件,文件名乱码(文件名是中文) oss 版本 3.8.1 <dependency> <groupId>...
  • 火狐浏览器下载文件名乱码

    千次阅读 2019-07-09 11:02:18
    ##火狐浏览器下载文件名乱码 response.setHeader("Content-Disposition","attachment;filename*=utf-8'zh_cn'"+fileName );
  • 手机浏览器下载文件名乱码解决

    千次阅读 2019-05-17 11:35:49
    手机浏览器下载文件名乱码解决 之前我是这样写的,这样做pc端下载文件名是好的没乱码,手机端下载大部分也是好的,就是苹果自带的浏览器还是乱码 pdfPath = URLEncoder.encode(fileName,"UTF-8")+".pdf"; 解决乱码...
  • 关于浏览器下载文件名乱码问题 在Web开发中,我们会写下面的(本文我以Chrome浏览器讲解,旨在讲解一些底层原理,为什么乱码,由于不同浏览器解码不同,所以我选择了Chrome为基础讲解) protected void doGet...
  • 关于java文件下载文件名乱码问题解决方案
  • 解决IE浏览器下载文件名乱码额问题 //下载的文件名为fileName String fileName = "登录登出日志统计" + DateUtils.yyyyMMddHHmmss() + ".csv"; response.reset(); //获取客户端浏览器和操作系统信息 ...
  • 文件下载文件名乱码主要是没有对文件名进行编码,这里适用的浏览器主要包括(IE,火狐,谷歌,360) 代码如下 //火狐浏览器 if(ServletActionContext.getRequest().getHeader("USER-AGENT").toLowerCase()....
  • response.setHeader(...)下载中文文件名乱码问题 关于中文文件下载的问题,网上的咨询和答疑已经很多,我原来处理下载的代码如下: Java代码  response.setHeader("Content-Disposition", ...
  • Safari下载文件名乱码

    万次阅读 2016-08-16 13:01:09
    在使用Safari下载中文名文件的时候,下载文件名乱码, 但在IE,Firefox,Chrome中下载时中文文件名可以正确显示 /** * 浏览器下载文件时需要在服务端给出下载文件名,当文件名是ASCII字符时没有问题当文件名有...
  • IE 下载文件失败和下载文件名乱码和pdf预览兼容问题解决
  • ASP.NET 解决下载文件的时候文件名乱码问题,
  • sendRedirect下载链接,浏览器中的文件名乱码问题: // 文件名中文乱码问题 fileURL = new String(fileURL.getBytes("UTF-8"),"ISO8859-1"); response.setCharacterEncoding("UTF-8"); response....
  • java文件下载文件名乱码

    千次阅读 2017-08-04 16:21:06
    response.setHeader(…)下载中文文件名乱码问题 关于中文文件下载的问题,网上的咨询和答疑已经很多,我原来处理下载的代码如下: java代码response.setHeader("Content-Disposition", "attachment; filename=" + ...
  • java web 下载文件名乱码

    千次阅读 2018-01-18 14:43:47
    Web开发下载文件功能(代码如下),文件名如果带有中文,经常会出现乱码现象,需要进行编码。 String fileName = "测试文件.doc"; try { HttpServletResponse response = (HttpServletResponse) FacesContext....
  • 启动程序报错的话确认下电脑是否已经安装了.Net环境 使用.Net 3.5+WinForm编写,简单地批量对乱码文件名改名,炒鸡好用 ps:预览列表控件不知道怎么排才能达到预想效果,所以……就尴尬了
  • 文件下载文件名乱码的几个问题

    千次阅读 2018-08-05 17:42:13
    Java Web后端做文件的...firefox文件名乱码的问题: 一般下载文件,都会指明Content-disposition,形如下 response.setHeader("Content-disposition", "attachment;filename="+URLEncoder...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 70,724
精华内容 28,289
关键字:

下载文件名乱码