blob对象实现文件的下载
https://developer.mozilla.org/zh-CN/docs/Web/API/Blob
<!DOCTYPE html>
<html>
<head>
<script type = "text/javascript" src = "../js/jquery-1.11.0.min.js"></script>
<title>blob对象实现文件的下载和图片预览</title>
</head>
<body>
<script>
// Blob定义
var str = '123'
var blob = new Blob([str],{type:'text/plain'});
console.log(blob)
// Blob {size: 3, type: 'text/plain'}
console.log(blob.text())
// Promise
// {<pending>}[[Prototype]]: Promise[[PromiseState]]: "fulfilled"[[PromiseResult]]: "123"
blob.text().then(res =>console.log(res))
// 123
blob.text().then(function(res){
console.log(res)
})
// 123
</script>
<a id="btn">跳转</a>
<!-- <div>
<div><p>123</p></div>
</div> -->
<script>
// blob下载文件
var str = `<div>
<div><p>123</p></div>
</div>`
var blob = new Blob([str],{type:'text/html'})
btn.onclick = function(e){
// 给a标签增加download属性
this.setAttribute('download','123.html')
this.href = URL.createObjectURL(blob)
}
</script>
<br />
<br />
<br />
<input type="file" id="input">
<!-- <a></a> -->
<script>
// blob上传下载文件
input.onchange = function(e){
var file = e.target.files[0]
console.log(file)
var a = document.createElement('a')
// 同源文件
a.setAttribute('download','01.练习.html')
a.href = URL.createObjectURL(file)
a.click()
}
</script>
</body>
</html>