简体   繁体   English

S3存储桶中的Node-SDK访问被拒绝上传文件:putObject()VS multer-3s

[英]Node-SDK Access Denied Upload file in S3 Bucket: putObject() VS multer-3s

When I try to use aws.s3(), everything works fine, my bucket is created with the appropriate key. 当我尝试使用aws.s3()时,一切正常,使用适当的密钥创建了我的存储桶。

var s3 = new AWS.S3();

    // Create a bucket and upload something into it
    var bucketName = 'node-sdk-sample-' + uuid.v4();
    var keyName = 'hello';

    s3.createBucket({Bucket: bucketName}, function() {
      var params = {Bucket: bucketName, Key: keyName,ACL: 'public-read'};
      s3.putObject(params, function(err, data) {
        if (err)
          console.log(err)
        else
          console.log("Successfully uploaded data to " + bucketName + "/" + keyName);
      });
    });

But When I try to upload a multipart data with multer-3s , I get the error: Access Denied. 但是,当我尝试使用multer-3s上传多部分数据时,出现错误:访问被拒绝。

var aws = require('aws-sdk')
var uuid = require('node-uuid')
var multer= require('multer')
var multerS3 = require('multer-s3')
var s3 = new aws.S3()
var bucket = 'BucketWAR' + uuid.v4()
var upload = multer({
    storage: multerS3({
        s3: s3,
        bucket: 'some-bucket',
        acl: 'public-read',
        key: function (req, file, cb) {
            cb(null, Date.now().toString())
        }
    })
})
router.get('/index', indexController.idex)
router.post('/uploadFile', upload.single('file'), function (req, res, next) {
    res.send("Uploaded!");
});

I can't fix this. 我无法解决此问题。 Do I need Policy? 我需要保单吗? But I didn't need it for putObject. 但是我不需要putObject。 What is the mean difference? 什么是平均差异?

Everything is correct except that I didn't use the right variable, silly problem, after defining bucket I didn't use it: 一切都是正确的,除了我没有使用正确的变量,这是一个愚蠢的问题,在定义存储桶之后,我没有使用它:

  • bucket: 'some-bucket' 桶:“一些桶”

    I must put: 我必须说:

  • bucket: bucket

    that I have defined by bucket = 'BucketWAR' + uuid.v4() 我通过bucket ='BucketWAR'+ uuid.v4()定义的

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM