gpt4 book ai didi

javascript - 我无法将存储在数据库中的 ArrayBuffer 转换为图像

转载 作者:行者123 更新时间:2023-11-28 14:14:37 24 4
gpt4 key购买 nike

我的应用程序拍摄一张照片,将其转换为 ArrayBuffer 并存储在数据库中。然后我想检索该数据并将其转换为图像而不存储结果文件。

我看过 RN-Fetch-blob 和 FileReader,但不清楚一些事情。

以下是我在阅读有关该问题的许多不同帖子后尝试使用变量组合的方法:

var arrayBufferView = new Uint8Array(expense.receipt);
const blob = new Blob(expense.receipt,"image/jpeg" );
//const blob = new Blob([expense.receipt],"image/jpeg" ); <-error
//const blob = new Blob(arrayBufferView,"image/jpeg" ); <-error

//console.log (blob);
const fileReaderInstance = new FileReader();
fileReaderInstance.readAsDataURL(blob); // tried 'readAsBufferArray' but RN complained that that function is not implemented.
fileReaderInstance.onload = () => {
const base64data = fileReaderInstance.result;
console.log(base64data);
};
var imageBase64 = 'data:'+"image/jpeg"+';base64,'+blob;
console.log (imageBase64)
});

我做错了什么?

提前致谢。

最佳答案

将图像从数组缓冲区转换为:

Blob :

var arrayBufferView = new Uint8Array(expense.receipt);
const blob = new Blob([arrayBufferView], {type:"image/jpeg"} );
const img = createObjectURL(blob); //Remember to revokeObjectURL when done

Base64:

var arrayBufferView = new Uint8Array(expense.receipt);
const charArr = arrayBufferView.reduce((data, byte)=> (data + String.fromCharCode(byte)), ''));
const img = btoa(charArr);

关于javascript - 我无法将存储在数据库中的 ArrayBuffer 转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58043337/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com