首页 > 解决方案 > 错误:ENOENT:没有这样的文件或目录 -Heroku

问题描述

我是网络新手,刚开始研究 NodeJS。

我在 Heroku 上部署了一个应用程序。但是当我将图像文件保存在本地机器上时,它工作得很好,但是当我将它部署在 Heroku 服务器上时,我的图像没有保存并显示错误: Error ENOENT: no such file or directory, open '../public/uploads/1623462977307.png'

这是我的代码: 代码

我的 FILES_PATH 是 ../public/uploads 在 Heroku 环境变量上设置的。我尝试了所有喜欢的绝对路径,相对路径,但问题没有解决。

标签: node.js

解决方案


该错误意味着该../public/uploads文件夹不存在。您可以通过确保文件夹存在来修复错误。创建文件夹,在其中放入一个名为 的空文件.gitkeep,然后提交更改。当您推送到 Heroku 时,这会将空文件夹保留在您的存储库中。

请记住,Heroku 的文件系统是短暂的/短命的。这意味着您保存在磁盘上的任何图像都将在您重新启动或部署应用程序后消失。您不能依赖 Heroku 的文件系统来存储需要更长时间保存的图像。在此处阅读更多信息:https ://help.heroku.com/K1PPS2WM/why-are-my-file-uploads-missing-deleted

您最好将图像保存在其他地方。查看 Cloudinary 或 AWS S3 等云存储解决方案。


推荐阅读