优点 : 使用简单,其余的不知道了
<a href='xxxxxx' dowmload>a>
好处:可以灵活控制模板的变量,便于自定义
var name = '小明'
var age = 22
var str1 = `
我的名字是:${name}
我的年龄是:${age}
`
var hoppy = '打篮球'
var str2 = `
我的爱好是:${hoppy}
`
// 第一个参数的所有项目会拼接在一块
var blob = new Blob([str1,str2],{
type:'text/html'
})
var a = document.getElementById('a')
a.onclick = function () {
// 同步下载
this.setAttribute('download', 'hello.html')
this.href = URL.createObjectURL(blob)
}
本质上,图片和文件是没有差别的,这里演示的是图片的
同步的方式
<body>
<input type="file" value="图片预览" id="pic">
<script>
pic.onchange = function (e) {
// e.target.files[0] 实际上就是继承了Blob的文件对象
var file = e.target.files[0]
var img = new Image()
img.src = URL.createObjectURL(file)
document.body.appendChild(img)
}
script>
body>
结果:

同步方式
<body>
<input type="file" value="图片预览" id="pic">
<script>
pic.onchange = function (e) {
// e.target.files[0] 实际上就是继承了Blob的文件对象
var file = e.target.files[0]
var img = new Image()
document.body.appendChild(img)
// FileReader其实也是继承Blob对象的一种
var fileRead = new FileReader()
fileRead.readAsDataURL(file)
fileRead.onload = function(){
img.src = fileRead.result
}
}
script>
body>