文档章节

nodejs返回中文文件下载

h
 hongyiF
发布于 2017/03/31 10:44
字数 242
阅读 104
收藏 0

源网页 http://www.web-jia.com/view.php?a=4

 

let filename = "测试中文文件";
var userAgent = (request.headers['user-agent']||'').toLowerCase();
if(userAgent.indexOf('msie') >= 0 || userAgent.indexOf('chrome') >= 0) {
response.setHeader('Content-Disposition', 'attachment; filename=' + encodeURIComponent(filename));
} else if(userAgent.indexOf('firefox') >= 0) {
response.setHeader('Content-Disposition', 'attachment; filename*="utf8\'\'' + encodeURIComponent(filename)+'"');
} else {
/* safari等其他非主流浏览器只能自求多福了 */
response.setHeader('Content-Disposition', 'attachment; filename=' + new Buffer(filename).toString('binary'));
}
response.setHeader("Content-Type", "application/octet-stream");

还有种方法
let iconv = require("iconv-lite");
response.setHeader("Content-Disposition", "attachment; filename=\""+iconv.decode(iconv.encode("测试中文文件", "GBK"),"ISO-8859-1")+"\"");

iconv-lite如果不存在可以通过
npm install iconv-lite 安装

以上方法都firefox测试没有问题

 

深入学习PHP数组删除元素方法
PHP随机数生成与使用解析
PHP的cURL库功能简介:抓取网页,POST数据及其他
使用JavaScript和Canvas开发游戏之认识Canvas
Adobe发布HTML 5网页动画工具Adobe Edge
云端JavaScript漫游指南(视频)
学习PHP的一些经验(1)
HTML 5移动App剖析(1)
JavaScript实现二级联动下拉框

本文转载自:

h

hongyiF

粉丝 0
博文 22
码字总数 22
作品 0
私信 提问
Nodejs下载文件文件名中文乱码问题解决方案

最近在使用Nodejs导出下载文件时,遇到了中文文件名乱码问题,于是Google搜索+验证得出以下解决方案: var filename = 'Nodejs中文指南.pdf'; var userAgent = (req.headers['user-agent'] '......

山哥
2013/11/30
4.4K
2
nodejs安装jsdom模块出现MSB4025错误

在安装jsdom模块的过程中遇到这么一个MSB4025错误:(win8.1 下,已经安装了vs2013 for desktop express版) error MSB4025: 未能加载项目文件,给定编码中的字符无效 在网上查了一些资料,说...

subying
2014/06/14
981
0
Centos7上node.js和go语言的快速安装

Centos7上node.js和go语言的快速安装 一、安装环境 Centos7.4 二、安装node.js 参考文章:在Linux系统安装Nodejs 最简单步骤 1、去官网下载和自己系统匹配的文件: 英文网址:https://nodej...

bestlope
2018/08/15
0
0
通过几句node.js为前端初学者写个常用工具

具体是什么工具,我语言组织了好久还是觉得不够好,还是以几张图来告诉大家它实现的一个效果以及如何使用它。 效果图 情景: 小明是个切图仔,某天,他切完了所有的图准备对接数据啦。列表页...

Juicyangxj
2018/07/24
0
0
node.js中中文路径的问题

刚下载了node.js,想看看效率和功能,结果在遍历目录的时候,中文显示不了。buffer只有那么几种编码。 winxp的默认字符集好像是gb2312 好好看了一下,我认为现在这个官网上的编译无法获得中文...

袁国涛
2011/07/25
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

直击JDD | 陈生强:京东数科的底层是数字化操作系统

11月19日,由京东集团主办的JDD-2019京东全球科技探索者大会在京开幕,京东数字科技集团CEO陈生强作了题为“以科技为美,为价值而生”的主旨发言,再论“数字科技”,向与会嘉宾分享了京东数...

京东云技术新知
27分钟前
4
0
MVC、MVP、MVVM的定义的理解

1.MVC 即Model(模型层)、View(视图层)、Control(控制层),Model与VC分离(VC在一起),Model获取数据与业务处理(方便复用),View视图控制、Control处理逻辑。交互(数据传递)用回调...

Coding缘
43分钟前
3
0
ts结合vue 常用的目录结构

typescript在.vue中的写法 使用typescript会让你的代码结构看起来更明朗 原vue写法 import {mapGetters, mapActions} from 'vuex'import tree from './components/all/tree/tree.vue'ex......

不负好时光
43分钟前
4
0
TI达芬奇系列TMS320DM8148浮点DSP C674x + ARM Cortex-A8JTAG仿真器接口、风扇接口

由广州创龙设计的SOM-TL8148和SOM-TL8127核心板是Pin To Pin兼容,两款核心板公用同一块底板。DM8148与DM8127相比,DM8148有SATA接口,DM8127没有SATA接口;而DM8127有CSI2接口,DM8148没有。...

Tronlong创龙
46分钟前
4
0
springmvc注解开发

ps : 这东西比较简单,用来为我们使用springboot打基础 一 : 工程搭建 (一) 导包 <!-- servlet --><dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</......

扑克心
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部