前端在開(kāi)發(fā)下載功能時(shí),獲取到后端返回的二進(jìn)制流數(shù)據(jù)惩猫,如下所示
此時(shí)芝硬,我們可以這樣處理!直接上圖》(看圖更方便理解轧房,下面可以粘取代碼拌阴,喜歡記得點(diǎn)個(gè)贊呦~)
代碼如下:
let?config?=?{
????????responseType:?"blob",
????????headers:?{
??????????"Content-Type":?"application/json",
????????},
??????};
??????axios.post("/stockQuery/stockDownload",?params,?config).then((res)?=>?{
????????const?blob?=?new?Blob([res.data]);
????????const?fileName?=?"庫(kù)存列表.xls";
????????const?linkNode?=?document.createElement("a");
????????linkNode.download?=?fileName;?//a標(biāo)簽的download屬性規(guī)定下載文件的名稱
????????linkNode.style.display?=?"none";
????????linkNode.href?=?URL.createObjectURL(blob);?//生成一個(gè)Blob?URL
????????document.body.appendChild(linkNode);
????????linkNode.click();?//模擬在按鈕上的一次鼠標(biāo)單擊
????????URL.revokeObjectURL(linkNode.href);?//?釋放URL?對(duì)象
????????document.body.removeChild(linkNode);
??????});
思路及部分代碼來(lái)源暫時(shí)找不到了,侵刪~~