Javascript Can';设置Blob的文件名

Javascript Can';设置Blob的文件名,javascript,blob,Javascript,Blob,我正在尝试自动下载一个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'

我正在尝试自动下载一个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


如何正确设置文件名?

Blob
没有
name
属性

保留原始的
类型
,并使用
元素和
下载
属性,将
href
设置为
Blob URL
,调用
。在将元素添加到
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)
})

无需记录.body.appendChild(a);和document.body.removeChild(a);