from django.utils.encoding import escape_uri_pathfrom django.http import HttpResponse def download(request): fn = "中文文件.xlsx" with open(fn, 'rb') as f: content = f.read() response = HttpResponse(content) response['Content-Type'] = 'application/o…
转自:http://www.imhdr.com/991/ HTTP 下载文件,中文文件名在 Firefox 下乱码问题 最近帮助一同事解决 HTTP 下载文件时,中文文件名在 Firefox 下乱码的问题,我的同事在 http header 中是这样操作的: "Content-Disposition","attachment;filename=文件名.xx" 其实,按照  rfc231 , Content-Disposition 应该按照如下格式设置: "…
处理过程 根据IE的F12中的log提示,是因为http头信息中的编码替换了html文件中的编码.我最初的思路是设置Tomcat默认编码,但是我发现我已经在Server.xml中设置过,想到这里我想到了上篇文章的文件重命名的问题,准备去写个filter去修改http响应头,但是我突然明白,SpringMVC应该会处理过,但是为什么无效呢,这种成熟的框架不应该会有bug存在,于是我尝试在SpringMVC的xml中配置SourceHttpMessageConverter等转换器,都无效. 发现原因…
]中的路径绑定的是下载路径,用到了sharepoint中自带的download.aspx下载页面,只要将文件的URL赋值给sourceurl即可,但是我前台用的是<a>标签的href来导向下载页面的,如果你的文件名是中文命名,而且路径是在后台传的值,在前台的进行的链接,那么如果你用的是IE浏览器,那么下载时就无法成功,因为IE无法将路径进行编码,下载页面无法识别中文名,所以这时就必须先编码再链接,如下面的带有下滑线的代码,就是编码的过程. if (files != null) { foreac…
if( stripos($_SERVER['HTTP_USER_AGENT'], 'MSIE')!==false ) $filename = urlencode( $filename ); // 输入文件标签 Header("Content-Type: application/vnd.android.package-archive"); Header("Accept-Ranges: bytes"); Header("Accept-Length: "…
fileName = new String(fileName.getBytes("utf-8"), "iso8859-1");//兼容火狐.ie.平板 response.setHeader("Content-Disposition", "attachment; filename=" + fileName+".xlsx"); //返回内容为excel response.setContentType("…
//遇到的现象是,下载含有中文文件名的文件时,能获取到文件,但是使用IE正常,使用firefox,chrome文件名却乱码.//既然如此,就区分一下浏览器再返回好了,处理方式如下 //RESTfull @RequestMapping(path = { "/down/{fileId}" }, method = { RequestMethod.GET }) public ResponseEntity<byte[]> handlerDownload(@PathVariable S…
重点就在于添加  "attachment;filename*=utf-8'zh_cn'" + fileName //遇到的现象是,下载含有中文文件名的文件时,能获取到文件,但是使用IE正常,使用firefox,chrome文件名却乱码. //既然如此,就区分一下浏览器再返回好了,处理方式如下 //RESTfull @RequestMapping(path = { "/down/{fileId}" }, method = { RequestMethod.GET })…
IIS 中文文件名下载会出现403访问被拒绝 服务器在安全加固后,出现了IIS 中文文件名下载会出现403访问被拒绝 换成英文的就好了…
前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UTF-8.所名不是编码问题造成的.使用firefox8 测试很正常.猜想是因为ie的某些特殊的设置导致的问题. 2.以"PHP ie 下载 文件名乱码"为关键字搜索.果然,ie对中文文件名的下载文件是需要特殊处理的. 3.网上一哥们如是说: 如果$file_name是UTF-8编码的,比如文…
开发中大家都是使用的utf8编码,昨天遇到一个奇坑,本是一件很小的问题,解决也浪费了个吧小时.废话不多说,植入正题: 文件下载方式:通过header二进制流文件下载需求: 文件上传保留文件名不变数据字段file_url值:/public/upload/files/2019/04-29/中文测试包.rar linux(Ubuntu 18.04.2 LTS )文件目录:/home/wwwroot/web/public/upload/files/2019/04-29 windows10文件目录:D:\…
http://blog.csdn.net/wnczwl369/article/details/7483806 Tomcat 是Java开发者使用得较多的一个Web服务器,因为它占用资源小,运行速度快等特点,深受Java Web程序员的喜爱.不过,在使用中,由于Java中的中文问题的存在,如果不经过配置,在WEB程序中,不能直接支持具有中文文件名的文件的下载,这为 Java Web程序的开发带来一定的不便.本文拟介绍一种手段,解决这个问题. 解决问题的核心在于修改Tomcat的配置,在Server…
解决一下问题: 1.火狐浏览器下载文件,中文变乱码 2.IE浏览器下载文件,丢失文件扩展名或强制扩展名为".txt" 3.浏览器下载文件,文件名中的空格变成加号("+"),测试过程中chrome,firefox,ie均出现此问题 参考https://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http s…
Sevlet 下载pdf文件 支持中文文件名 package html2pdf.controller; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import jav…
        function get_basename($filename){                 return preg_replace('/^.+[\\\\\\/]/', '', $filename);              }              $file = "/tmp/你好.txt";         $filename = get_basename($file);           header("Content-type: appl…
方法很多种,我只试用了两种. 主页面JSP中引入下载功能所需的js文件.引入的时候设置编码格式例如 <script type="text/javascript" charset="UTF-8" src="${rsc}/pages/communicate/message/receiveMessage.js"></script> 然后下载方法需改进.下面改进的下载方法是基于本博客里的另一篇文章serlvet下载中的下载方法,下…
原因:响应头设置content-disposition,主要遵循 RFC 5987标准. response.setHeader("content-disposition","attachment;filename*=UTF-8''" + URLEncoder.encode(fileName,"UTF-8")); 说明: content-disposition 消息头 指示回复的内容该以何种形式展示,是以内联的形式(即网页或者页面的一部分),还是以…
下载文件,无法正常打开,如下图 需手动加后缀名修改文件格式方可正常打开进而能得知文件内容正常如下图,给“下载”文件加上后缀即可得到正常下载的内容 问题整理:(此下载功能采用StreamHttpResponse) 1.已在源码中指定了下载的文件名: response['Content-Disposition'] = 'attachment;filename="{f_name}"'.format(f_name=the_file_name) 但结果下载的文件统一均为“下载”的文件名字 2.下…
前段时间被某个前端小可爱鄙视了一下,说我博客都一年不更新了,我不服,明明还有俩月才到一年呢.不过说是这么说,还是要更新一下的. 以上都是借口,下面开始正文.     我公司的某个内部系统,用django做的,项目中不可避免地有下载文件的地方,以前偷懒,我都是用django自带的方法,在项目的总urls.py中使用 urlpatterns += static(FILEPATH, document_root=FILEPATH) 这种方法解决.   但是这种方法有个极大的缺陷:测试环境写着玩可以,正式…
利用file_get_contents打开文件或采集远程服务器文件如果文名或url中碰到汉字中文那么会出现failed to open stream:Lnvalid argument in错误.   今天遇到一个很棘手的问题,客户用ftp向服务器传了一个文件,但是却无法被程序识别.查看代码后,没有发现问题,最后重演流程发现,客户上传的文件是中文命名的.于是小做测试发现,file_get_contents函数尽然不支持中文文件名文件. 原有代码如下: $filename='哈.txt'; echo…
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件…
ASP.NET MVC应用程序实现下载功能 上次Insus.NET有在MVC应用程序实现了上传文件的功能<MVC应用程序显示上传的图片> http://www.cnblogs.com/insus/p/3597543.html 有上传就有下载.本篇博文是把上传的文件以列表的形式显示View视图上,然后用户可以点击下载. 为了解更多的内容,建议你先看上链接一篇. 在MVC应用程序的Entity目录下,找到和打开FileLibraryEntity.cs,添加一个返回DataTable的方法: #1写…
1.html网页,超链接交由Servlet处理 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>实现文件的下载功能</h1> <a href="ImgServlet?filen…
django下载Excel,使用django-excel插件 由于目前的资料多是使用pandas或xlwt库实现的.其实没有那么的麻烦,因为django有相对应的插件django-excel. 该插件是依赖于pyexcel库写的.不过,不用专门安装pyexcel库,因为在安装django-excel时会自动将pyexcel装上.由于pyexcel是一个大库,且在使用django-excel时不用考虑pyexcel的使用方法,所以就不再此介绍太多了.在此,还是要多说一句,pyexcel的功能也是很…
一.背景 最近公司的一些自动化操作需要使用Python来实现FTP的上传和下载功能.因此参考网上的例子,撸了一段代码来实现了该功能,下面做个记录. 二.ftplib介绍 Python中默认安装的ftplib模块定义了FTP类,其中函数有限,可用来实现简单的ftp客户端,用于上传或下载文件. Python 2.7系列官方文档: https://docs.python.org/2/library/ftplib.html Python 3.5系列官方文档:https://docs.python.org…
    我们在项目中经常会用到下载功能,所以今天我们先说下下载功能实现的思路,然后通过一个案例代码来具体体现. 1.下载的思路: ①首先要获取我们要操作的文件对象的路径 ②然后使用获取的文件对象路径构建一个文件操作流对象 ③设置好相关的http响应的头,告诉浏览器怎么来操作我们写回的数据,是下载.打开等等. ④通过response获取字节流,并结合我们的文件流进行读取和写出操作 ⑤关闭相关的流资源 2.下载具体servlet实现代码: package com.servlet; import ja…
转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具…
导入相关支持jar包:commons-fileupload.jar,commons-io.jar 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件.这个common-fileupload上传组件的jar包可以去apache官网上面下载,也可以在struts的lib文件夹下面找到,struts上传的功能就是基…
简介 是一个为完美主义者设计的web框架 The web framework for perfectionists with deadlines. Django可以使你能够用更少的代码,更加轻松且快速去开发web应用. Django makes it easier to build better Web apps more quickly and with less code. 下面这段太长了,有请百度翻译: ​ Django是一个高级python web框架,它鼓励快速开发和干净.实用的设计.…
二.Django下载与运行 2.1.Django的下载 目前我们学习和使用的版本是3.2LTS版本 目前开源软件发布一般会有2个不同的分支版本: 1. 普通发行版本: 经常用于一些新功能,新特性,但是维护周期短,不稳定. 2. 长线支持版本[LongTerm Supper]: 维护周期长,稳定 软件版本格式: 大版本.小版本.修订号 大版本一般是项目内容/软件的核心架构发生改动, 以前的代码已经不适用于新的版本 小版本一般是功能的删减, 删一个功能,小版本+1, 减一个功能,小版本+1 修订号一…