簡體   English   中英

我無法將存儲在 DB 中的 ArrayBuffer 轉換為圖像

[英]I am unable to convert an ArrayBuffer stored in DB to an image

我的應用程序拍攝了一張照片,該照片被轉換為 ArrayBuffer 並存儲在 DB 中。 然后我想檢索該數據並將其轉換為圖像而不存儲結果文件。

我看過 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)
});

我究竟做錯了什么?

提前致謝。

將圖像從Array Buffer轉換為:

斑點:

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);

暫無
暫無

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

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