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>


版权声明:本文为hua616744200原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。