簡體   English   中英

AWS S3 getObject to image

[英]AWS S3 getObject to image

來自AWS S3 SDK的'getObject'請求返回'data.Body',例如'Uint8Array(51213)[137,80 ....'

如何轉換此數據以在HTML標記中顯示它

<img id='imgTest' .....


s3.getObject({
    Bucket: 'mybuket',
    Key: "test/myImage.png"
}, function (errtxt, data) {
    if (errtxt) {
        console.Log("lireImage", "ERR " + errtxt);
    } else {
        console.log('lecture OK')
        let imageTest =document.getElementById('imgTest')
        imageTest.src = ????

謝謝你的回答YC

我不是在尋找圖像的URL,因為如果我想從其URL加載此圖像,則必須將此圖像聲明為“public”,否則會出現403(禁止)錯誤消息。

這就是我用's3.getObject'加載圖像的原因,我的訪問鍵聲明並驗證了's3'。 通過這種方式,我們可以加載聲明為private的圖像。

我不知道該怎么做是將收到的數據轉換成圖像。

在你給我的一個鏈接中,我找到了解決方案。

let imageTest =document.getElementById('imgTest')
s3.getObject({
    Bucket: 'myBucket',
    Key: "test/myimage.png"
}, function (errtxt, file) {
    if (errtxt) {
        console.Log("lireFic", "ERR " + errtxt);
    } else {
        console.log('lecture OK')
        imageTest.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');
}

您需要做的就是檢索要顯示的圖像的URL。

請參閱以下答案:

Amazon S3通過網址訪問圖片

顯示從s3獲取的圖像

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM