Сохраняйте объекты в корзине AWS S3 с разрешением общего доступа - PullRequest
0 голосов
/ 20 февраля 2019

В S3 bucket каждый раз, когда я создаю папку с динамическим именем и несколькими изображениями с разрешением частного доступа, это нормально. Одно изображение, которое мне нужно предоставить как общедоступный доступ, я использую здесь Javascript aws-sdk, мой код для сохраненияИзображение Мне нужно дать разрешение на публичный доступ

const Aws = require('aws-sdk');
const Bucket_Name=process.env.BUCKET_NAME;
const IAm_user_Key=process.env.IAM_USER_KEY;
const IAm_user_Secret=process.env.IAM_USER_SECRET;
const uniqueID = getuniqueid();

///Setting AWS
Aws.config.update({ accessKeyId:IAm_user_Key,secretAccessKey:IAm_user_Secret,region:'ap-south-1' });

//Setting S3 Bucket
var s3Bucket = new Aws.S3({params: {Bucket: Bucket_Name}});

//Setting up poster 
var poster = new Buffer(data.poster.replace(/^data:image\/\w+;base64,/, ""),'base64');
var posterdata = { Key: (uniqueID+'/poster'), Body: poster, ContentEncoding: 'base64', ContentType: 'image/png'};
    saveImagetos3(posterdata);

function saveImagetos3(data){
        s3Bucket.putObject(data, function(err, data){
            if (err) { 
              console.log(err,"Error uploading image");
            } else {
              console.log('succesfully uploaded the image!');
            }
        });
    }

function getuniqueid(){
  //Some blah blah code for create random id
  return randomID;
}

1 Ответ

0 голосов
/ 20 февраля 2019

Я узнал о своей ошибке, я установил для всех этих параметров значение True, но я узнал, когда мы установили ACL: 'public-access', и в нашем запросе put запрос отклоняется с ошибкой: Access DENIED согласно Docs Amazon S3 Blocking Public access , я просто сбросил настройку на false, и она работает для меня.

...