blod转文件在通过a并下载

419 阅读1分钟

什么是blob Blob(Binary long Object)是二进制长对象的意思,Blob通常用于存储大文件,典型的Blob内容是一张图片或者一个声音文件,由于他们的特殊性,必须使用特殊的方式来存储。使用Blob列可以把照片声音等文件的二进制数据保存在数据库里,并可以从数据库里恢复指定文件。

假如后端返回blod类型,前端获取到blod,通过 window.URL.createObjectURL(blod)

    const fileName = "文件名"
    //静态方法会创建一个 [`DOMString`],其中包含一个表示参数中给出的对象的URL
    const boldUrl = window.URL.createObjectURL(blod)
    const aTag =  document.createElement('a')
    aTag.href = boldUrl
    //指定文件名称
    aTag.download = fileName
    document.body.appendChild(aTag)
    //点击下载
    aTag.click()
    //移除该标签
    document.body.removeChild(aTag)