美文网首页坚持学习打卡
前端接收 type: “application/octet-st

前端接收 type: “application/octet-st

作者: Moment929 | 来源:发表于2023-09-03 16:10 被阅读0次

    第一步在拦截器中设置:

    service.interceptors.response.use(
      response => {
        const headers = response.headers
        if (headers['content-type'] === 'application/octet-stream;charset=utf-8') {
          return response.data
        }
      ...其他情况
      }
    )
    

    第二步在axios 请求时设置:

    export function exportAudit(query) {
      return request({
        url: 'xxxx',
        method: 'get',
        responseType: 'blob',
        params: query
      })
    }
    

    第三步,请求接口返回值时设置:

    handleExport() {
          exportAudit(this.query).then(response => {
            console.log(response)
            const blob = new Blob([response.data])
            const fileName = '屏蔽字导出.xlsx'
            if ('download' in document.createElement('a')) { // 非IE下载
              const elink = document.createElement('a')//创建一个a标签通过a标签的点击事件区下载文件
              elink.download = fileName
              elink.style.display = 'none'
              elink.href = URL.createObjectURL(blob)//使用blob创建一个指向类型数组的URL
              document.body.appendChild(elink)
              elink.click()
              URL.revokeObjectURL(elink.href) // 释放URL 对象
              document.body.removeChild(elink)
            } else { // IE10+下载
              navigator.msSaveBlob(blob, fileName)
            }
          })
        }
    

    这样就导出文档流内容了

    相关文章

      网友评论

        本文标题:前端接收 type: “application/octet-st

        本文链接:https://www.haomeiwen.com/subject/afzfvdtx.html