我正在使用以下代码来onLoad FileReader来创建一个标记,并将来自FileReader的结果放入href中。这是一个base64字符串。
let reader = new FileReader()
reader.readAsDataURL(myInputTypeFile.files[0])
reader.onloadend = (e) => {
let file
for (let i = 0; i < attachInput.files.length; i++) {
file = attachInput.files[i]
if (file.type === 'application/pdf'){
let anchor = document.createElement('a')
anchor.setAttribute('class', 'q-attached-file')
anchor.setAttribute('title', file.name)
anchor.setAttribute('href', reader.result)
anchor.innerText = file.name
myElement.appendChild(anchor)
}
}
}
但是当我点击元素时,我只是在浏览器上看到'about:blank'。
答案 0 :(得分:3)
如果您的用户位于支持download attribute的浏览器中,您可以将其添加到您的锚标记。
<a download href="...">
但并非所有浏览器都支持下载属性。检查the support tables。
有一个lib做了一些棘手的事情来回避浏览器之间的一些差异。如果您不介意额外的kb,请尝试使用DownloadJS。