我正在尝试自动下载这样的blob:
blobGeneratingFunction.then(blob => {
// blob => Blob(3797539) {size: 3797539, type: "image/png"}
let file = new Blob([blob], { type: 'application/octet-stream' })
file.name = 'test.png'
file.download = 'test.png'
let blobURL = URL.createObjectURL(file)
window.location.href = blobURL
})
name
或download
属性未设置文件名,现在是:
f486177d-6f5e-4f96-91a9-8df08e7d9da0
如何设置文件名?
答案 0 :(得分:1)
Blob
没有name
属性。
保留原始type
,并将<a>
元素与download
属性设置为href
设置为Blob URL
,调用.click()
将元素追加到<a>
后的document.body
元素。
blobGeneratingFunction.then(blob => {
let a = document.createElement("a")
let blobURL = URL.createObjectURL(blob)
a.download = 'test.png'
a.href = blobURL
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
})