AWS - Node SDK успешно загружает файл в S3 Bucket, но не появляется в Bucket - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь загрузить изображение в AWS-S3-Bucket с помощью AWS Node SDK.Это делает запрос с успешным ответом, но когда я иду к своему S3-Bucket, файл не существует.

Я изо всех сил стараюсь разобраться с этой проблемой, посещаю очень много форумов, но безуспешно.Пожалуйста, помогите мне, вот мой код:

......
const bucketName = "myBucket";

const baseObject = "uploads/";
let defaults = {
    // Your SECRET ACCESS KEY from AWS should go here,
    // Never share it!
    // Setup Env Variable, e.g: process.env.SECRET_ACCESS_KEY
    secretAccessKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    // Not working key, Your ACCESS KEY ID from AWS should go here,
    // Never share it!
    // Setup Env Variable, e.g: process.env.ACCESS_KEY_ID
    accessKeyId: "xxxxxxxxxxxxxxxx",
    region: "us-east-1", // region of your bucket
    // region: "us-west-2", // region of your bucket

    Bucket: bucketName,
};


let settings = Object.assign({}, defaults, options); // values in options override values in defaults
// console.log(settings); // Object {key1: "value1", key2: "default2", key3: "defaults3"}

aws.config.update(settings);

// Create name for uploaded object key
var keyName =`${baseObject}${options.keyName}${Date.now().toString()}`;

const base64StringData = options.body;
let imageBody = base64StringData.replace(/^data:image\/\w+;base64,/, "");
// Getting the file type, ie: jpeg, png or gif
const type = base64StringData.split(";")[0].split("/")[1];

let buffer = new Buffer(imageBody, "base64");
let objectParams = {
    Bucket: bucketName,
    Key: `${keyName}.${type}`,
    ACL: "public-read",
    Body: buffer,
    ContentEncoding: "base64",
    ContentType: `image/${type}`,
    ContentLength: buffer.length,
};
console.log(objectParams);
const s3 = new aws.S3();
await s3.putObject(objectParams)
......
...