本文介绍如何利用 JavaScript 的 fetch API 实现异步文件下载功能。通过获取响应并转换为 Blob 对象,创建临时链接触发浏览器下载,从而完成文件保存操作。
JavaScript 使用 fetch 异步下载文件的实现方法
下面直接展示实现代码,具体实现如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>sample</title>
</head>
<body>
<button id='btn'>下载</button>
<span id='status'></span>
</body>
<script>
var url = "http://localhost/sample/upload.php";
document.getElementById('btn').onclick = function() {
document.getElementById('status').innerHTML = '下载中';
fetch(url).then(res => res.blob().then(blob => {
var a = document.createElement('a');
var url = window.URL.createObjectURL(blob);
var filename = res.headers.get('Content-Disposition');
a.href = url;
a.download = filename;
a.click();
window.URL.revokeObjectURL(url);
document.getElementById('status').innerHTML = '下载完成';
}));
};
</script>
</html>
总结
以上就是利用 JavaScript 通过 fetch 实现异步下载文件的完整介绍,希望能对大家有所帮助。如有疑问欢迎留言,小编会及时回复。感谢大家对本站的支持!