Nodejs下载文件文件名中文乱码问题解决方案
程序员文章站
2022-03-19 17:43:16
...
最近在使用Nodejs导出下载文件时,遇到了中文文件名乱码问题,于是Google搜索+验证得出以下解决方案:
var filename = 'Nodejs中文指南.pdf';
var userAgent = (req.headers['user-agent']||'').toLowerCase();
if(userAgent.indexOf('msie') >= 0 || userAgent.indexOf('chrome') >= 0) {
res.setHeader('Content-Disposition', 'attachment; filename=' + encodeURIComponent(filename));
} else if(userAgent.indexOf('firefox') >= 0) {
res.setHeader('Content-Disposition', 'attachment; filename*="utf8\'\'' + encodeURIComponent(filename)+'"');
} else {
/* safari等其他非主流浏览器只能自求多福了 */
res.setHeader('Content-Disposition', 'attachment; filename=' + new Buffer(filename).toString('binary'));
}
亲测浏览器:IE7+, Chrome29+, Firefox18+, Safari5.1+ 下载中文文件名正常!!
转载于:https://my.oschina.net/jsan/blog/180333
上一篇: 鸡汤火锅配菜可以有哪些?
下一篇: 微博营销技巧:三大方法+两大维度