1. 处理后台返回流文件,多张图片处理,返回成一个压缩包
    在这里插入图片描述
    处理方法:
    在这里插入图片描述
    在这里插入图片描述
let blob = new Blob([res.data], { type: 'application/octet-stream;charset=UTF-8' })
let fileName = decodeURI(res.headers['content-disposition'].split('filename*=utf-8')[1])
if (window.navigator.msSaveBlob) {
	// ie
    window.navigator.msSaveOrOpenBlob(blob, fileName)
     return
}
let elink = document.createElement('a')
elink.style.display = 'none'
elink.href = window.URL.createObjectURL(blob)
elink.download = fileName
document.body.appendChild(elink)
elink.click()
URL.revokeObjectURL(elink.href)
document.body.removeChild(elink)

就可以下载成一个压缩包了哦

  1. 单张图片下载(相当于浏览器下载)
    在这里插入图片描述
this.$http.post( --接口名---, data, { responseType: 'arraybuffer' })
   .then(response => {
      return 'data:image/png;base64,' + btoa(new Uint8Array(response.data).reduce((data, byte) => data + String.fromCharCode(byte), ''))
    })
    .then(data => {
      var link = document.createElement('a')
      link.href = data
      if (imgsrc.indexOf('.jpg') != -1) { // 判断图片格式,非jpg格式,都已png格式显示
        link.download = name + '.jpg'
      } else {
        link.download = name
      }
      link.click()
    })

Logo

前往低代码交流专区

更多推荐