Heroku上部署的Node.js应用程序上的文件下载路径问题

时间:2019-03-29 17:39:19

标签: node.js express heroku

我必须在客户端下载一个csv文件,女巫正在我的开发环境中工作,但是由于我已在Heroku上部署了该应用程序,因此下载功能不起作用并抛出此错误:

{
"errno": -2,
"code": "ENOENT",
"syscall": "open",
"path": "/app/public/exports/coupons.csv"
}

我的路线:

// Search for coupons by id
    Coupon.find({ _id: { $in: couponsIds } }, (err, coupons) => {
        if (err) {
          console.error(err);
        } else {
          let csv;
          try {
            csv = json2csv(coupons, { fields });
          } catch (err) {
            return res.status(500).json({ err });
          }
          const filePath = path.join(
            __dirname,
            '..',
            'public',
            'exports',
            'coupons' + '.csv'
          );
          fs.writeFile(filePath, csv, function(err) {
            if (err) {
              return res.json(err).status(500);
            } else {
              setTimeout(function() {
                fs.unlinkSync(filePath); // delete this file after 30 seconds
              }, 30000);
              res.download(filePath);
            }
          });
        }
      });

这里缺少其他配置吗?

非常感谢您的光临,

0 个答案:

没有答案