8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何使用 axios 下载文件

Austin Wolff 2月前

166 0

我正在使用 axios 进行基本的 http 请求,例如 GET 和 POST,效果很好。现在我也需要能够下载 Excel 文件。使用 axios 可以实现吗?如果可以,有人有示例代码吗?

我正在使用 axios 进行基本的 http 请求,例如 GET 和 POST,效果很好。现在我也需要能够下载 Excel 文件。使用 axios 可以实现这一点吗?如果可以,有人有示例代码吗?如果没有,我还可以在 React 应用程序中使用什么来做同样的事情?

帖子版权声明 1、本帖标题:如何使用 axios 下载文件
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Austin Wolff在本站《express》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 当响应带有可下载文件时,响应标头将类似于:

    {
      "Content-Disposition": "attachment;filename=report.xls"
      "Content-Type": "application/octet-stream" // or "application/vnd.ms-excel"
    }
    

    您可以做的是创建一个单独的组件,它将包含一个隐藏的 iframe .

    import * as React from 'react';
    
    var MyIframe = React.createClass({
     
       render: function() {
           return (
             <div style={{display: 'none'}}>
                 <iframe src={this.props.iframeSrc} />
             </div>
           );
       }
    });
    

    现在,您可以将可下载文件的 URL 作为 prop 传递给此组件。因此,当此组件收到 prop 时,它将重新渲染并下载文件。

    编辑: 您也可以使用 js-file-download 模块。 链接至 Github repo

    const FileDownload = require('js-file-download');
    
    Axios({
      url: 'http://localhost/downloadFile',
      method: 'GET',
      responseType: 'blob', // Important
    }).then((response) => {
        FileDownload(response.data, 'report.csv');
    });
    
返回
作者最近主题: