有沒有一種方法可以在我的 Angular Map 中計算客戶端影像檔案的 MD5,當我將該檔案存盤在 Firestore 上時,該方法將與 MD5 匹配?我需要能夠確認用戶檔案與存盤在 firebase 中的參考版本匹配,而無需再次上傳。
我可以從本地機器上的檔案物件獲取陣列緩沖區,但無法在本地完成 md5 計算以匹配 Firebase 回傳的內容。
我得到的結果與 Firebase 報告的 md5 完全不同,所以我認為我根本沒有走在正確的軌道上:
let file = target.files[0];
let reader = new FileReader();
reader.onload = function (event) {
data = event.target.result;
let ret: any = data;
if (data) {
let len = ret.byteLength;
let uintArBuff = new Uint8Array(ret); //Does an array buffer convert to a Uint8Array?
let md5 = new Md5();
let hash = md5.appendByteArray(uintArBuff).end();
console.log(hash);
}
}
reader.readAsArrayBuffer(file);
上面產生的結果看起來像29e10414c7c7b7adb61330b02f8f3ddc,而 firebase 報告的 MD5 是KeEEFMfHt622EzCwL4893A==這樣的,所以我認為我完全走錯了樹。甚至沒有相同長度的哈希...... .
uj5u.com熱心網友回復:
我會發表評論,但聲譽不允許我發表評論。
KeEEFMfHt622EzCwL4893A==是base64編碼的。你的是hex編碼的。
我剛剛使用了在線轉換,它檢查它們是否匹配。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/420632.html
標籤:
