/**
* 文件下载 模拟点击 下载
* @param {*} url 文件地址
* @param {*} fileName 文件名称
* @param {*} type 文件类型 'application/pdf;charset=UTF-8' 表示下载文档为pdf,如果是word则设置为
* msword,excel为excel
*/
export function DowloadFiles(url, fileName, type = 'application/pdf;charset=UTF-8') {
let fileNames = fileName
if (!fileNames) {
let lasUrl = url.lastIndexOf('/')
fileNames = url.substring(lasUrl + 1)
}
let xmlResquest = new XMLHttpRequest();
xmlResquest.open('GET', url, true);
xmlResquest.setRequestHeader('Content-type', 'application/json');
xmlResquest.responseType = 'blob';
xmlResquest.onload = function(oEvent) {
if (xmlResquest.status !== 200) {
return;
}
const downloadLink = document.createElement('a');
let content = xmlResquest.response;
let blob = new Blob([content], {
// 设置返回的文件类型
type: type
});
downloadLink.href = URL.createObjectURL(blob);
downloadLink.setAttribute('download', fileNames);
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
};
xmlResquest.send();
}
JavaScript 模拟点击 下载文件
最新推荐文章于 2024-04-29 18:19:28 发布
本文介绍了一个JavaScript函数,通过模拟用户点击下载,利用XMLHttpRequest和Blob技术实现从指定URL下载文件,支持自定义文件名和类型。
摘要由CSDN通过智能技术生成