Я использую изображения из корзины S3, получаю Image как массив Buffer, после чего я конвертирую этот массив в строку base64 и использую его как атрибут sr c тега изображения, но он не отображается в браузере !!
это функция, которую я использую для получения изображения из S3:
export async function viewImage(imgkey ){
const s3 = new aws.S3(
{
region: 'us-east-1',
accessKeyId: IAM_USER_KEY,
secretAccessKey: IAM_USER_SECRET,
Bucket: BUCKET_NAME,
}
);
const s3Params = {
Bucket:BUCKET_NAME,
Key: imgkey,
};
const test= s3.getObject(s3Params).promise();
return test
}
, затем я использую эту функцию в компоненте реагирования и передаю ей требуемый ключ изображения, а затем передаю результат в функцию-конструктор Blob для преобразования его в base64:
viewImage('1576505075929.png').then(res =>{
console.log('resss' , res)
const base64 = new Blob(res.Body, {type : res.ContentType})
let reader = new FileReader();
reader.readAsDataURL(base64)
reader.onload = function() {
let src = reader.result; // data url
setsrc(src)
};
})