前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >React 下载文件

React 下载文件

作者头像
星宇大前端
发布2019-10-25 09:18:43
2K0
发布2019-10-25 09:18:43
举报
文章被收录于专栏:大宇笔记大宇笔记

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/ZY_FlyWay/article/details/100628147

介绍


前端:React写的,需要下载后台接口文件 后台:通过接口传过来一个word文件,Content-Type :application/msword

可以下载一个GET方法

探索


GET方式下载一个:

尝试一: 用Fetch 下载二进制文件,按照逻辑应该是可以的。但是下载完之后,文件内容有问题。

代码语言:javascript
复制
  //可以根据需求传特定的一些参数
const downloadUrl = 'http://127.0.0.1:8080/file/download';
fetch(downloadUrl, {
    method: 'POST',
    body: window.JSON.stringify(params),
    credentials: 'include',
    headers: new Headers({
        'Content-Type': 'application/json'
    })
}).then((response) => {
    response.blob().then( blob => {
        let blobUrl = window.URL.createObjectURL(blob);
        let a = document.createElement('a_id');
        let filename = response.headers.get('Content-Disposition');
        a.href = blobUrl;
        a.download = filename;
        a.click();
        window.URL.revokeObjectURL(blobUrl);
    });
}).catch((error) => {
    console.log(error);
});

尝试二: 直接打开链接,不跳转地址。下载成功

代码语言:javascript
复制
      window.open("您的get下载地址")

按照逻辑来说两种都是可以的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 探索
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档