gpt4 book ai didi

javascript - Heroku 文件上传

转载 作者:行者123 更新时间:2023-12-01 16:19:34 26 4
gpt4 key购买 nike

我有一个本地文件下载,它以下列方式触发。

panelBody.append('<button onclick="downloadCsv(\''+skl+'\')">Download csv</button>')

function downloadCsv(data){
var filename=data+'_report.csv'
var form = $('<form>', {action: '/admin/download', method: 'GET'});
form.append($('<input>', {name: 'file_name', value: filename}));
form.submit();
return false;
}

router.get('/download',helper.isSchoolAdmin,feedController.downloadCsv);

downloadCsv:function(req,res){
var fileName = process.cwd()+'/reports/'+ req.query.file_name;
res.download(fileName,function(err){
if(!err)console.log('down')
});
}

文件本身被写入到前一个请求中的指定路径到不同的路由。
现在这在我的本地工作正常..我的问题是,一旦我将它部署到 heroku 上会发生什么?我的文件上传和下载是否仍然有效,因为我已经读到 heroku 使用临时文件系统,它只允许写入 tmp 目录。

如果是这种情况,有人可以告诉我如何通过 Node 准确写入该目录......而且,由于上传和下载是单独请求的一部分,文件最终会在我下载之前被删除吗?谢谢。

最佳答案

Heroku 的“临时文件系统”是由于应用程序的容器化。当你的应用程序被构建时,一个 LXC 容器被发送到运行时并被执行。

这意味着在文件系统上写入的任何文件都不会在重新部署、应用程序重新启动和多个 dynos 中持久化。即使在 tmp 文件夹中。

您不应将这些文件存储在磁盘上,而应存储在专用的文件存储平台上,例如 Amazon S3 或 Google Cloud Storage。

https://devcenter.heroku.com/articles/s3-upload-node

关于javascript - Heroku 文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43336112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com