【问题标题】:Node.js Multer upload to s3 and local storageNode.js Multer 上传到 s3 和本地存储
【发布时间】:2021-12-14 19:39:12
【问题描述】:

需要将我的图片上传到本地存储和 s3

我的代码:

    const fileStorage = multer.diskStorage({
      destination: function(req, file, cb) {
        cb(null, "./public/uploads");
      },
      filename: function(req, file, cb) {
        cb(null, file.originalname);
      }
    });
    
    /** AWS catalog */
    
    aws.config.update({
      secretAccessKey: process.env.SECRET_KEY,
      accessKeyId: process.env.ACCESS_KEY,
      region: "us-east-1"
    });
    
    const s3 = new aws.S3();
    const awsStorage = multerS3({
      s3: s3,
      bucket: process.env.BUCKET_NAME,
      key: function(req, file, cb) {
        console.log(file);
        cb(null, file.originalname);
      }
    });
    
    var upload = multer({ storage: awsStorage}).array('userPhoto',10);

    router.post('/postimages',function(req,res)
{
    upload(req,res,function(err) {
    
    });
});

在这种情况下,我可以上传到本地存储或 S3。我无法上传到这两个地方。请帮忙解决这个问题。

【问题讨论】:

    标签: node.js express amazon-s3 multer multer-s3


    【解决方案1】:

    我建议您尝试 multer-s3,它将文件直接上传到 s3 而不保存到本地。如果您想将文件保存到本地,您也可以使用相同的方法。

    我已将文件上传到 18Gb 的 s3,没有任何问题。

    这是有用的链接 - https://www.npmjs.com/package/multer-s3

    【讨论】:

      猜你喜欢
      • 2017-05-22
      • 2021-06-10
      • 2020-12-30
      • 2017-10-17
      • 2017-04-19
      • 2018-08-29
      • 2019-03-18
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多