前端封装下载文件的接口请求格式,将其转为blob格式

	download(url, params, filename) {
	    return service.post(url, params, {
	      responseType: 'blob',
	    }).then((r) => {
	      const content = r.data
	      const blob = new Blob([content])
	      if ('download' in document.createElement('a')) {
	        const elink = document.createElement('a')
	        elink.download = filename
	        elink.style.display = 'none'
	        elink.href = URL.createObjectURL(blob)
	        document.body.appendChild(elink)
	        elink.click()
	        URL.revokeObjectURL(elink.href)
	        document.body.removeChild(elink)
	      } else {
	        navigator.msSaveBlob(blob, filename)
	      }
	    }).catch((r) => {
	      console.error(r)
	      NProgress.done()
	      Message({
	        message: '下载失败',
	        type: 'error',
	        duration: messageDuration
	      })
	    })
	  }

你可能感兴趣的:(vue,vue.js,blob)