Heroku无法找到生产中的图像

r7xajy2e  于 2023-01-13  发布在  其他
关注(0)|答案(1)|浏览(114)

我正在使用multer上传上传和保存图像在客户端/图像/后文件夹。
下面是一个代码片段:

const storage = multer.diskStorage({
    destination: './client/images/post',
    filename: function(req, file, cb){
    cb(null,file.fieldname + '-' + Date.now() + path.extname(file.originalname));
    }
  });

这在开发中非常有效,但是,当我将这个节点应用部署到Heroku时,Heroku找不到在生产过程中新上传的图像。
我得到这个错误:

https://mywebsite/images/post/photo-1673474603560.png 404 (Not Found)

然而,如果我查看部署时已经存在的其他图像标记的源代码-它们能够进入文件夹并加载它们的图像。
有什么想法吗?

im9ewurl

im9ewurl1#

我相信Heroku使用的是临时文件系统。请参阅https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem
因此,在Heroku Dyno上创建的任何文件都不是永久性的。如果您想要适当的永久性文件存储,您很可能必须使用其他存储解决方案。虽然您当前的设置可能适用于本地开发,但您必须在已部署的环境中使用类似S3的东西。

相关问题