2017-06-22 99 views
1

我有一個明確的應用程序,並正在使用multer來上傳文件, 的問題是,當我運行與PM2生產服務器應用程序的multer上傳文件給了我一個錯誤:Multer上傳一個文件,PM2

「錯誤:ENOENT:沒有這樣的文件或目錄,打開'uploads/img.png' at Error(native)「

但是當我運行它」Debug = projectname:* npm start「時它的工作正常。

請注意,我已經創建了具有「爲任何人閱讀和寫入」權限的上傳目錄。

(對不起,因爲我的英語不好)

回答

0

我會嘗試猜測問題。

在你pm2你不會使用cwd param,所以你的應用程序從錯誤的根目錄開始。

0

我已經改變相對路徑解決同樣的問題,以絕對路徑

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')