【问题标题】:How to upload image on aws server using node如何使用节点在 aws 服务器上上传图像
【发布时间】:2017-12-09 17:09:03
【问题描述】:

我正在尝试使用 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 和 google 上搜索的那样,我无法找到教程或帮助来做同样的事情。 我正在获得有关 s3 的帮助,但我不想上传它。

不能像那样将图像上传到 AWS 服务器,我必须使用 S3 或我的代码有问题吗?

编辑:现在我可以将图像获取到目标文件夹,但仍然无法返回响应。

【问题讨论】:

    标签: node.js amazon-web-services amazon-s3 multer


    【解决方案1】:

    您很可能在 Watch 模式下运行 PM2,这是一个旨在用于开发的功能,用于在更改其文件时重新启动您的应用程序。这打算在生产中使用。

    要解决此问题,如果您从 cli 启动 pm2,请使用该选项

    --no-autorestart

    或 yaml 配置;

    autorestart: false

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 2022-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多