Blob 是一種二進制數(shù)據(jù)類型對象,常用于處理二進制數(shù)據(jù)。我們可以使用 JavaScript Blob 對象下載 JSON 數(shù)據(jù)。
首先,我們需要將 JSON 數(shù)據(jù)轉(zhuǎn)換成 Blob 對象。可以使用 Blob 構(gòu)造函數(shù),在第一個參數(shù)中傳入 JSON 字符串和第二個參數(shù)表示數(shù)據(jù)類型:
const jsonData = { "name": "John", "age": 30 };
const blobData = new Blob([JSON.stringify(jsonData)], { type: "application/json" });
下面我們就可以將 Blob 對象下載到本地。常用的方式是創(chuàng)建一個 a 標簽,設(shè)置 href 屬性為 Blob 對象 URL,設(shè)置 download 屬性為文件名,然后觸發(fā)點擊事件:
const a = document.createElement("a");
a.href = URL.createObjectURL(blobData);
a.download = "data.json";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
以上代碼會在頁面上創(chuàng)建一個不可見的 a 標簽,然后模擬點擊觸發(fā)下載。需要注意的是,創(chuàng)建 Blob URL 后需要在下載完成后調(diào)用 URL.revokeObjectURL() 方法,釋放資源。
上一篇idew vue