如何使用JavaScript實(shí)現(xiàn)后端返回的二進(jìn)制流文件下載? 后端返回二進(jìn)制文件流,前端vue實(shí)現(xiàn)在線預(yù)覽
Pontofrio優(yōu)選生活跨境問答2025-08-244210
在JavaScript中,我們可以使用fetch API來獲取后端返回的二進(jìn)制流文件。以下是一個(gè)簡(jiǎn)單的示例:
async function downloadFile(url) {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
} else {
const arrayBuffer = await response.arrayBuffer();
const blob = new Blob([arrayBuffer], {type: 'application/octet-stream'});
saveAs(blob, url); // 保存為本地文件
}
} catch (error) {
console.error('There was a problem with the fetch operation:', error);
}
}
在這個(gè)函數(shù)中,我們首先使用fetch API獲取后端的響應(yīng)。然后檢查響應(yīng)是否成功,如果失敗則拋出錯(cuò)誤。如果成功,響應(yīng)體轉(zhuǎn)換為ArrayBuffer,并創(chuàng)建一個(gè)Blob對(duì)象。最后,我們使用Blob對(duì)象的saveAs方法將Blob對(duì)象保存為本地文件。
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。