Multer使用PM2上传文件

时间:2017-06-22 05:00:09

标签: node.js multer pm2

我有一个快速应用程序,并使用multer上传文件, 问题是当我在PM2的生产服务器上运行应用程序时,multer上传文件给了我一个错误:

"错误:ENOENT:没有这样的文件或目录,打开' uploads / img.png'     在错误(本机)"

但当我用" Debug = projectname:* npm start"它的工作正常。

请注意,我已经创建了包含所有权限的上传目录,并为所有人提供了读写权限。

(抱歉我的英语不好)

2 个答案:

答案 0 :(得分:1)

我会尝试猜测问题。

在pm2,您将不会使用cwd param,因此您的应用程序会以错误的根目录开头。

答案 1 :(得分: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')