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('文件下载出现异常');
  }
});
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注