我只是好奇如何將資料包裝在URL.createObjectURL.
所以我寫了下面的代碼。
function typedArrayToURL(typedArray, mimeType) {
return URL.createObjectURL(new Blob([typedArray.buffer], {type: mimeType}))
}
const bytes = Uint8Array.from("https://www.baidu.com/")
// const url = typedArrayToURL(bytes, 'text/html');
const url = typedArrayToURL(bytes, 'text/plain; charset=utf-8');
let blob = await (await fetch(url)).blob();
console.info(new Uint8Array(blob))
let ab = await (await fetch(url)).arrayBuffer();
console.info(new Uint8Array(ab))
blob 或 ab 22 的大小等于 的長度"https://www.baidu.com/",但其中的資料全為零。
uj5u.com熱心網友回復:
AnintArray需要整數。因此,您必須以正確的格式提供資料。
所以像
const bytes = Uint8Array.from("https://www.baidu.com/".split('').map(v=>v.charCodeAt(0)));
或者
const encoder = new TextEncoder();
const bytes = Uint8Array.from(encoder.encode("https://www.baidu.com/"))
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/396785.html
標籤:javascript 网址 创建对象网址
