data:url (通过base64的方式下载)
<a download="aaa.jpg" id="aaa">base64下载</a>
let src = `data:img/jpg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEA`
$('#aaa').attr('href', src)
bolb: url (通过上传文件转url下载)
<input type="file" placeholder="上传" onchange="fileInput(event, this.files)" style="display: none;">
<div class="file"></div>
<a download="xxx" id="file">文件下载</a>
function fileInput (e, file) {
var objectURL = window.URL.createObjectURL(file[0]);
$('#file').attr('href', objectURL)
}
$('.file').on('click', function () {
$('input').click()
})
- tips: 在第二种中,可以通过隐藏input[type=file] 用触发该input的click事件的方式来唤起上传文件
- download 中可以写入自定义的文件名,但是会有同源的限制,而且后端不能定义文件名