当前位置 : 主页 > 网络编程 > JavaScript >

nodejs下载文件,文件名乱码问题

来源:互联网 收集:自由互联 发布时间:2021-07-03
nodejs下载文件文件名乱码问题 1. [代码] 文件名乱码问题 var userAgent = (req.headers['user-agent']||'').toLowerCase(); if(userAgent.indexOf('msie') = 0 || userAgent.indexOf('chrome') = 0) { res.setHeader('Content-Dispositi
nodejs    下载文件       文件名乱码问题

1. [代码]文件名乱码问题    

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'));
                      }
                      res.setHeader('Content-Type', 'application/octet-stream;charset=utf8');
                      var opt = {
                        flags: 'r'
                      };
                      var stream = fs.createReadStream(Path, opt);
                      stream.pipe(res);
                      stream.on('close', function () {
                        res.end();
                      });
网友评论