我正在尝试使用multer使用以下代码在AWS服务器上上传图像:
//post request
var multer = require('multer');
var upload = multer({ dest: path.resolve('./public/uploads/'), });
/* POST saveblog router. */
router.post('/uploadMedia', upload.any(), function(req, res, next) {
//console.log("res",res);
console.log(req.body, 'Body');
console.log(req.files, 'files');
var myJSON = JSON.stringify(req.files[0].filename);
console.log("file name "+myJSON);
if (typeof myJSON != 'undefined'){
var obj= new Object();
obj.status=true;
obj.message="File Uploaded Successfully";
obj.type= req.files[0].mimetype;
var fileExtensionArray=(req.files[0].mimetype).split("/");
var fileExtension=fileExtensionArray[1];
res.json(obj);
}else {
var obj= new Object();
obj.status=false;
obj.message="Error while uploading file try again";
res.json(obj);
}
res.end();
});
它在当地运作良好。但是,当我将该代码上传到服务器并试图通过API。服务器停止并显示以下日志
Change detected on path public/uploads/b690b296bfde62eb8ff527328bc8b463 for app www - restarting
PM2 | Stopping app:www id:0
由于日志显示已检测到更改但我无法找到任何图像。
由于我在StackOverflow和谷歌上搜索过,我无法找到教程或帮助做同样的事情。 我正在获得有关s3的帮助,但我不想上传它。
是否无法将图像上传到AWS服务器,我必须使用S3或我的代码出错?
编辑:现在我可以将图像传送到目标文件夹,但仍然无法返回响应。
答案 0 :(得分:0)
您可能正在Watch模式下运行PM2,这是一项旨在用于开发的功能,可以在更改文件时重新启动应用程序。这 not 旨在用于制作。
要解决此问题,如果您从cli开始pm2,请使用选项
--no-autorestart
或yaml config;
autorestart: false