Heroku 从 multipart/form-data 表单上传

Heroku uploads from multipart/form-data form

有没有人知道在快速应用程序中上传图片可能遇到的障碍。想象一下,你使用一些 npm 包作为中间件(我用了很多)。想象一下,一切都经过精心设置,并且 heroku 日志或其他地方没有错误。也可以从控制台 req.files<name_of_the_input_for _files_upload>.path returns,但是如果尝试 heroku run bash -a my_application 然后 cd / && find . | grep <name from path> 将找不到。 我尝试调查我的问题: 我克隆了 this repo 并上传到 Heroku。这个项目的作者在 heroku 上也有工作演示,但是当我部署它时。上传后就坏了。我创建了文件夹并更改了访问权限。

Heroku 使用临时文件系统。当您 heroku run 时,您并没有 sshing 到 运行 您的应用所在的同一台服务器。一个新的、短暂的(临时的)dyno 已经为你准备好了,这就是你在里面工作的东西。

假设您有一个包含 5 个服务器的应用程序。用户将文件上传到其中一个。如果您通过 ssh 连接到其中一台服务器,您只有五分之一的机会看到该文件。

在 Heroku 中上传文件的唯一真正方法是将这些文件写入其他地方。 S3, Google 开车,随便。实际保存持久文件存储的地方。它有一些插件,或者您可以使用您可以配置的中间件直接推送到您的 S3 帐户(例如)。