2017-02-14 60 views
0

我使用https://www.npmjs.com/package/express-fileupload,我的电脑,它的伟大工程,试图上传文件的Heroku,但在Heroku上也有这样的错误:Heroku的文件上传和Node.js的

{"errno":-2,"code":"ENOENT","syscall":"open","path":"./public/owner_photo/f28397baea8fb4d6f6dafed9f5586a9ac0b46843acf1120a0ecad24755cfff57.jpeg"} 

我怎样才能解决这个问题?

+0

在您的Heroku实例中可能没有名为'./ public/owner_photo'的文件夹 –

+0

我的猜测是您没有权限使用heroku在磁盘上保存文件 – Minato

回答

0

Heroku具有不可变的文件系统,这意味着您无法对文件系统进行更改或添加。您需要将其上传到其他地方,例如Amazon S3。

此外,许多上传软件包默认将上传的文件存储在临时目录中。因此,即使您将它们发送到S3,您仍然需要确保您使用的方法不会尝试这样做,或者设置一个选项来禁用它。我不熟悉express-fileupload,所以我不能说有什么方法可以或不会尝试在文件系统上存储副本。

我已经使用multiparty成功实现了这个功能,所以我可以对该包进行更具体的帮助。