Я следую советам разных пользователей на этом веб-сайте и получаю онлайн-руководства, но когда я пытаюсь загрузить изображение из S3 Amazon Bucket, на локальном экране отображается только «[Object Object]» вместо изображения . Учетные данные для учетной записи верны, и я смог показать изображения из корзины при загрузке только html для самого изображения. Однако я использую шаблон PUG, поэтому, возможно, мне не хватает чего-то важного, чтобы учесть дополнительную сложность.
router.get('/', function (req, res, next) {
AWS.config.update({
accessKeyId: "{{key}}",
secretAccessKey: "{{key}}",
defaultRegionName: 'eu-west-2'
});
let s3 = new AWS.S3();
this.image = s3.getObject({
Bucket: 'foodproducts',
Key: 'SainsShroomdogs.jpg'
}, function (errtxt, file) {
if (errtxt) {
console.Log("lireFic", "ERR " + errtxt);
} else {
console.log('lecture OK')
this.image.src = "data:image/png;base64," + encode(file.Body);
}
});
function encode(data) {
var str = data.reduce(function (a, b) {
return a + String.fromCharCode(b)
}, '');
return btoa(str).replace(/.{76}(?=.)/g, '$&\n');
}
res.render('index', {
productName: this.name,
productDescription: this.description,
imageTest: this.image
});
});
Вот код файла .pug:
doctype html
head
meta(charset='UTF-8')
title Internet Food Database
style
include ./SearchPageStylesheet.css
.container
.top
p Top
.middle
.left
p Left
.centre
.productImage
.productTitleText
h1= productName
p= productDescription
imageTest= imageTest
.right
p Right
.bottom
p Bottom
Как мне получить изображение из частного ведра Amazon S3, а затем сохранить его внутри этого .image, готов к показу на локальной странице html?