我有一個明確的應用程序,並正在使用multer來上傳文件, 的問題是,當我運行與PM2生產服務器應用程序的multer上傳文件給了我一個錯誤:Multer上傳一個文件,PM2
「錯誤:ENOENT:沒有這樣的文件或目錄,打開'uploads/img.png' at Error(native)「
但是當我運行它」Debug = projectname:* npm start「時它的工作正常。
請注意,我已經創建了具有「爲任何人閱讀和寫入」權限的上傳目錄。
(對不起,因爲我的英語不好)
我有一個明確的應用程序,並正在使用multer來上傳文件, 的問題是,當我運行與PM2生產服務器應用程序的multer上傳文件給了我一個錯誤:Multer上傳一個文件,PM2
「錯誤:ENOENT:沒有這樣的文件或目錄,打開'uploads/img.png' at Error(native)「
但是當我運行它」Debug = projectname:* npm start「時它的工作正常。
請注意,我已經創建了具有「爲任何人閱讀和寫入」權限的上傳目錄。
(對不起,因爲我的英語不好)
我會嘗試猜測問題。
在你pm2你不會使用cwd param,所以你的應用程序從錯誤的根目錄開始。
我已經改變相對路徑解決同樣的問題,以絕對路徑
var storage = multer.diskStorage({
destination: function(req, file, cb) {
cb(null, __dirname + '/public/uploads')
},
filename: function(req, file, cb) {
var fileFormat = (file.originalname).split(".");
cb(null, file.fieldname + '-' + Date.now() + "." +
fileFormat[fileFormat.length - 1]);
}
})
第三行之前,我改變就像下面
cb(null, './public/uploads')