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();

 

posted @ 2024-03-05 11:04  极客船长  阅读(100)  评论(0编辑  收藏  举报