一般要在浏览器中显示文件名,可以使用以下文件名

// 设置文件名的编码方式,使得文件的名字能够正常安全的显示。
filename = URLEncoder.encode(filename, "UTF-8");

// 告诉浏览器这是下载文件
response.setHeader("content-disposition", "attachment;filename="+ filename);
response.setHeader("content-type", "image/jpeg");

当在火狐浏览器中,以上代码不能正常显示文件名。

// 设置文件名的编码方式,使得文件的名字能够正常安全的显示。
filename = URLEncoder.encode(filename, "UTF-8");

// 告诉浏览器这是下载文件
response.setHeader("content-disposition", "attachment;filename*=UTF-8''"+ filename);
response.setHeader("content-type", "image/jpeg");

原因的参考这篇文章:正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)作者:iefans

firfox中"content-disposition", "attachment;filename=“+filename不能显示文件名字的更多相关文章

  1. C#中解决Response.AddHeader("Content-Disposition", "attachment; filename=" + filename)下载文件时文件名乱码的问题

    问题:下载文件时文件名乱码怎么解决? 在C#写后台代码过程中,经常遇到下载文件出现文件名乱码的问题,在网上找了很多方法,总是存在浏览器不兼容的问题,当IE浏览器不乱码时,火狐浏览器就会乱码,后来经过反 ...

  2. angularjs kindEditor 中content获得不到值

    angularjs kindEditor 中content获得不到值 需要修改下angular-kindeditor.js angular-kindeditor.js if (KindEditor) ...

  3. css3中content属性的应用

    可以使用css3中content功能为html元素增减内容.content需要配合 E:before和E:after使用. 废话少说,看代码和效果说明: 第一种: css代码: #div1:befor ...

  4. JS中使用EL表达式方法与获取工程名字

    关键: 在js中使用el表达式一定要使用双引号      分两种情况 1. JS代码在JSP页面中, 这可以直接使用EL表达式. 如: <script type="text/javas ...

  5. Eclipse中修改了项目,导入Tomcat中时,括号显示原来项目的名字

    Eclipse中Tomcat导入项目并且修改了项目名字,把项目添加到Tomcat上,发现在项目后面带了个括号里面显示原来项目的名字,并且在访问的时候也只能用原来的项目名访问,怎么办呢? 1.打开你的项 ...

  6. MyEclipse中Tomcat导入项目并且修改了项目名字,项目后面的括号显示原来项目的名字,怎么修改?

    MyEclipse中Tomcat导入项目并且修改了项目名字,项目后面的括号显示原来项目的名字,怎么修改? 1.打开路径\你的项目名称,修改文件.project 2.打开路径\你的项目名称\.setti ...

  7. response.setHeader("Content-disposition","attachment;filename="+fileName) 下载时文件名中存在空格错误

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

  8. 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码

    如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...

  9. mfix中更改time dependent VTK filename的最大时间步数的容量

    默认是0000四位,有可能保存文件多了以后不够用,可以在源码中修改,修改以后效果: 源码位置: 把 I4. 改成 I5.

随机推荐

  1. 对C#调用C++的dll的一点思考

    最近在对接C++程序的时候碰到了一些问题,然后花了一段时间才解决,今天就这些小问题来做一个总结,很多时候由于对另外一种开发语言的不熟悉,会在使用的过程中遇到很多的问题,这些问题看似简单但是背后却有很多 ...

  2. redis 中主从、哨兵和集群分片模式这三个有什么区别 ?

    集群分片 比如 5主5从,也就是说 数据过来之后会均匀的分配到5台服务器上面,5台服务器上面的数据是不同的,但是每个服务器都有一个从服务器,上面的数据跟这一台主服务器的数据是一样的: 也就是说,对于这 ...

  3. 莫烦keras学习自修第五天【CNN卷积神经网络】

    1.代码实战 #!/usr/bin/env python #! _*_ coding:UTF-8 _*_ import numpy as np np.random.seed(1337) # for r ...

  4. 11/1/2018模拟 Max

    题面 也就是说, 随机序列RMQ.(\(n \le 8388608\), \(m \le 8*10^6\)) 解法 我写了笛卡尔树+tarjan 然而听神仙说, 因为数据随机, 建完树暴力找lca就行 ...

  5. henrylee2cn简单的rpc服务

    server 端package controllers import ( "github.com/henrylee2cn/teleport" "model/system& ...

  6. linux下如何安装mysql和redis

    linux下如何安装mysql(mariadb) linux下如何安装软件? 1. yum安装软件也得注意,一个是配置yum源 1.我们当前的是阿里云的yum源(下载速度特别快) 通过 yum ins ...

  7. python 模块之-shelve

    shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型 import shelve f = shelve ...

  8. python之旅七【第七篇】面向对象之类成员

    面向对象的类成员 相关知识点 一  字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Provinc ...

  9. BZOJ2561最小生成树——最小割

    题目描述 给定一个边带正权的连通无向图G=(V,E),其中N=|V|,M=|E|,N个点从1到N依次编号,给定三个正整数u,v,和L (u≠v),假设现在加入一条边权为L的边(u,v),那么需要删掉最 ...

  10. workerman——配置小程序的wss协议

    前言 服务器: 阿里云服务器 | 需要在安全组放开443端口和workerman需要的端口 环境: oneinstack | lnmp oneinstack添加虚拟主机的时候选择第三个即可 | 这个添 ...