Js下載返回是二進制保存到本地文件

// 創建一個新的 XMLHttpRequest 對象
var xhr = new XMLHttpRequest();

// 監聽 XMLHttpRequest 對象的加載完成事件
xhr.addEventListener('load', function() {
    // 如果請求成功完成
    if (xhr.status === 200) {
        // 獲取到二進制文件內容
        var blob = new Blob([xhr.response], { type: 'application/octet-stream' });
        
        // 創建一個臨時的 URL
        var url = URL.createObjectURL(blob);
        
        // 創建一個 <a> 標籤用於下載
        var link = document.createElement('a');
        link.href = url;
        link.download = 'filename'; // 設置文件名
        link.click();
        
        // 釋放臨時的 URL 對象
        URL.revokeObjectURL(url);
    }
});

// 發送請求以下載文件
xhr.open('GET', 'Handler.ashx?method=DownloadZhuTu&ID=' + ID);
xhr.responseType = 'blob'; // 告訴服務器響應類型是二進制數據
xhr.send();

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章