![](/img/trans.png)
[英]Arraybuffer is not assinable to type string, Angular. I am trying to show uploaded image on the page
[英]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.