您的位置:首页 > Web前端 > Node.js

nodejs返回下载文档,文档名称出现汉字出现乱码解决

2015-06-29 00:00 676 查看
var userAgent = (req.headers['user-agent']||'').toLowerCase();
if(userAgent.indexOf('msie') >= 0 || userAgent.indexOf('chrome') >= 0) {
res.setHeader('Content-Disposition', 'attachment; filename=' + encodeURIComponent(filename));
res.download(path,encodeURIComponent(filename),function(err){
if(err){
console.log(err);
}
});
} else if(userAgent.indexOf('firefox') >= 0) {
res.setHeader('Content-Disposition', 'attachment; filename*="utf8\'\'' + new Buffer(filename).toString('binary')+'"');
res.download(path,new Buffer(filename).toString('binary'),function(err){
if(err){
console.log(err);
}
});
} else if(userAgent.indexOf('gecko') >= 0) { //ie11
res.setHeader('Content-Disposition', 'attachment; filename*="utf8\'\'' + encodeURIComponent(filename)+'"');
res.download(path,encodeURIComponent(filename),function(err){
if(err){
console.log(err);
}
});
} else {
/* safari等其他非主流浏览器只能自求多福了 */
res.setHeader('Content-Disposition', 'attachment; filename=' + new Buffer(filename).toString('binary'));
res.download(path,new Buffer(filename).toString('binary'),function(err){
if(err){
console.log(err);
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: