慕容的工作随笔

慕容的工作随笔

记录学习和工作

node.js文件下载

// 文件下载
 app.get('/download/*', function(req, res, next) {
   let filePath = req.params[0]; // 获取download后面的参数
   let fileName = path.basename(filePath); // 分离出待下载的文件名称
   if(fs.existsSync(filePath)){// 判断文件路径是否存在
      const stats = fs.statSync(filePath);
      if(stats.isFile()){
         res.set({
         'Content-Type': 'application/octet-stream',
         'Content-Disposition': 'attachment; filename='+fileName,
         'Content-Length': stats.size
         });
         fs.createReadStream(filePath).pipe(res);
      }
  }else{
     // 设置utf8头,防止中文乱码
      res.set({
         'Content-Type': 'text/html;charset=utf8',
      });
      res.end('文件下载出现异常');
  }
});

评论 (0)

还没有评论,来做第一个吧。

发表评论

提交后需管理员审核通过后显示