博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
前端下载文件流
阅读量:3590 次
发布时间:2019-05-20

本文共 769 字,大约阅读时间需要 2 分钟。

后端提供接口,直接返回一个文件,基本的请求方式如下

axios({    url,    method: 'POST',    params,    data,    headers: { 'ContentType': 'application/octet-stream;charset=uft-8;' },    responseType: 'blob'  })

具体地说明一下

  • method,可以是post、get
  • params, 链接里的参数,根据接口需要来加入
  • data, 请求body里的参数,根据接口需要来写
  • headers, 请求的header,根据接口需要来写,octet-stream是未指定具体类型的stream
  • responseType:'blob' 这个很重要,需要明确指定接口返回的类型。这样才能基于blob进行后续处理
  • response.headers[content-disposition] 一般接口返回时,会在返回的请求头上加上这个,在这里,会有文件名信息。

拿到请求返回的blob后,下载文件的代码实现

  • fileReader实现
const reader = new FileReader() reader.readAsDataURL(res.data) reader.onload = function(e) {    DownFileByUrl(e.target.result, decodeURIComponent(res.fileName))}
  • URL.createObjectUrl方式
const URL = window.URL || window.webkitURL const url = URL.createObjectURL(blob)DownloadFileByUrl(url)

转载地址:http://muxwn.baihongyu.com/

你可能感兴趣的文章
java快速读取大数据量的Excel文件,格式为.xlsx
查看>>
将普通maven工程中某一接口改造成dubbo服务
查看>>
k8s集群中其他节点也可以执行kubectl命令
查看>>
使用docker制作tomcat镜像
查看>>
shell脚本读取文件内容,并写出新文件
查看>>
在docker宿主机上运行docker中container中的执行的命令
查看>>
nginx和tomcat的ssl认证使用https协议访问
查看>>
docker使用tomcat部署应用
查看>>
linux服务器之间复制文件
查看>>
k8s集群搭建
查看>>
自己的阿里云镜像加速器查找
查看>>
spring-cloud-eureka初体验
查看>>
spring-cloud-ribbon简单使用
查看>>
spring-cloud-feign的简单使用
查看>>
spring-cloud-hystrix简单使用
查看>>
docker批量删除镜像
查看>>
deeping操作系统修改已挂载卷名称
查看>>
设计模式之神奇的单例模式
查看>>
linux系统设置oracle开机自启
查看>>
数据库的五种索引类型
查看>>