天天看點

nodeJS IOS手機和平闆端在微信中下載下傳檔案時,彈出框中檔案名亂碼解決方案(Content-disposition:attachment; filename)

今天做項目的時候遇見一個問題。下載下傳檔案時在谷歌,Edge和火狐中檔案名是正确顯示的。但是在IOS端(這裡我隻是測試了平闆和手機,蘋果電腦的safari沒有測試)微信彈窗中會出現%E4%BA%BF%E6%AC%A7%E6%99%BA%E5%BA%93%20WIA2020%20%E5%85%A8%E7%90%83%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E7%A7%91%E6%8A%80%E5%88%9B%E6%96%B0TOP50_2021-01-12.pdf這種亂碼的情況,

解決方案如下

res.setHeader('Content-disposition', `attachment; filename=${Buffer.from(title,'utf-8').toString('binary')}.pdf;filename*=utf-8''${Buffer.from(title,'utf-8').toString('binary')}.pdf`);
  
           

通過上面代碼可以解決亂碼問題

nodeJS IOS手機和平闆端在微信中下載下傳檔案時,彈出框中檔案名亂碼解決方案(Content-disposition:attachment; filename)

如果錯誤歡迎指出

繼續閱讀