前端下载文件blob

开发中越来越发现自己的不足,最近在开发中遇到的需要下载文件到本地的操作,这里将遇到的问题记录一下

步骤一:获取后端提供的文件下载路径

        这个没什么说的,一般就是按照后端给的接口去请求就可以了,这里写个简单例子

export function downLoadZip(str, filename) {

  var url = baseUrl + str

  axios({

    method: 'get',

    url: url,

    responseType: 'blob',

    headers: { 'Authorization': 'Bearer ' + getToken() }

  }).then(res => {

    resolveBlob(res, mimeMap.zip)

  })

}

其实到这里已经获取到返回的文件了,不过这样获取的到的一堆乱码,需要我们解析成对应文件并且下载到本地才算实现完成

步骤二:解析并下载文件

export function resolveBlob(res, mimeType) {

  const aLink = document.createElement('a')

  var blob = new Blob([res.data], { type: mimeType })

  var patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*')

  var contentDisposit

你可能感兴趣的:(自我问题总结,前端)