2017-02-14 5 views
0

habe ich versucht, Upload-Datei Heroku https://www.npmjs.com/package/express-fileupload verwenden, auf meinem PC es funktioniert gut, aber auf Heroku gibt es diesen Fehler:Heroku Datei-Upload und node.js

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

Wie kann ich es beheben?

+0

Es gibt wahrscheinlich keinen Ordner mit dem Namen './Public/owner_photo' auf Ihrer Heroku-Instanz –

+0

Meine Vermutung ist, dass Sie nicht die Erlaubnis haben, Dateien mit heroku auf der Festplatte zu speichern – Minato

Antwort

0

Heroku verfügt über ein unveränderliches Dateisystem, dh Sie können keine Änderungen am Dateisystem vornehmen oder Erweiterungen vornehmen. Sie müssen Ihre Uploads an einem anderen Ort wie Amazon S3 speichern.

Viele Hochladepakete speichern die hochgeladene Datei standardmäßig in einem temporären Verzeichnis. Selbst wenn Sie sie an S3 senden, müssen Sie sicherstellen, dass die von Ihnen verwendeten Methoden dies nicht versuchen, oder eine Option zum Deaktivieren festlegen. Ich bin nicht vertraut mit express-fileupload, so kann ich nicht sagen, welche Methoden versuchen oder nicht versuchen, Kopien auf dem Dateisystem zu speichern.

Ich habe dies erfolgreich mit multiparty implementiert, so dass ich mit diesem Paket spezifischer Hilfe sein könnte.