首页 > 其他 > 详细

前端如何处理后端返回 Blob 格式的数据

时间:2021-04-08 15:29:14      阅读:3      评论:0      收藏:0      [点我收藏+]

情景:React项目,在做「下载」功能时,后端返回的数据格式为 Blob 格式,需要在前端调 API 时,对数据进行处理。

以下??是前端做的处理,希望可以帮到你。

直接贴代码:

  // 引入
  import contentDisposition from content-disposition
  import FileSaver from file-saver

  // 定义 api 
  export type xxxApiReault = ApiResult<any>
  async function downloadRandom(
    xxx: number,
    xxx: string,
    xxx: number,
  ): Promise<xxxApiReault> {
    const resp = await request({
      url: xxx,
      method: POST,
      responseType: blob, // ??注意:响应类型
    })
    const disposition = contentDisposition.parse(resp.headers[content-disposition]) // ?? 这里
    FileSaver.saveAs(new Blob([resp.data]), disposition.parameters.filename) // ?? 这里
    return resp.data
  }

  // 调用 api
  const downloadTemplate = () => {
    $api.random
      .randomFile(xxx, xxx, xxx)
      .then((res) => {
        if (res instanceof Blob) { // 注意??
          Message.success(下载成功!)
        } else {
          Message.error(下载失败!)
        }
      })
  }

前端如何处理后端返回 Blob 格式的数据

原文:https://www.cnblogs.com/Freya0607/p/14631138.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号