expressjs下载文件名utf-8

时间:2014-05-27 17:55:09

标签: node.js express

表示response.download filename不支持utf-8。

我想下载文件,文件命名为utf-8(不是英文)

我已经尝试Content-Disposition设置为标题

像这样......

res.set "Content-Disposition", "attachment;filename=테스트 한글.hwp"

但没有工作......

4 个答案:

答案 0 :(得分:6)

var newFileName = encodeURIComponent("테스트 한글.hwp");
res.setHeader('Content-Disposition', 'attachment;filename*=UTF-8\'\''+newFileName);

这应该可以解决问题。它帮助我抛光变音符号。请注意 = UTF-8 \' \' 部分。

答案 1 :(得分:0)

试试这个:

res.set("Content-Disposition", "attachment;filename=" + encodeURI("테스트 한글.hwp"));

答案 2 :(得分:0)

这里是流行的UTF8编码/解码https://www.npmjs.com/package/utf8

res.setHeader('Content-disposition', 'attachment; filename='+utf8.encode(object.pdfFileName));

答案 3 :(得分:0)

https://www.npmjs.com/package/content-disposition

res.set("Content-Disposition", contentDisposition("테스트 한글.hwp")
const {
  parameters: { filename }
} = contentDisposition.parse(resp.headers['content-disposition'])