首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在React应用程序的客户端保存文件

在React应用程序的客户端保存文件
EN

Stack Overflow用户
提问于 2018-09-03 23:51:17
回答 1查看 1.6K关注 0票数 1

我正在尝试在react应用程序的客户端保存一个文件。数据是从我的名为DownloadDocument的API Controller中获得的。我从我的DownloadDocument方法返回FileSreamResult。FileStreamResult读取数据并将其写入到react API中的响应。network选项卡得到一个响应,但当我记录该响应时,我得到的响应为null。我正在使用文件保护程序来尝试保存该文件。https://www.npmjs.com/package/file-saver

有没有人对这个问题有什么建议,或者有没有更好的方法?

我在控制器中的操作:

我遇到的问题是,我对react api的响应返回为空。

代码语言:javascript
运行
复制
[HttpGet("{documentId}")]
    [AcceptVerbs("OPTIONS", "GET")]
    [AllowAnonymous]
    public async Task<IActionResult> DownloadDocument(int documentId)
    {
      if (documentId != 0)
      {
        var document = await service.DownloadDocumentAsync(documentId);

        var documentResponse = File(document, "application/octet-stream");             
        return documentResponse;
      }
      return BadRequest("Document id is not valid");
    }

react应用程序。

代码语言:javascript
运行
复制
api.indexes.downloadDocument(clones)
    .then(response=>{
    console.log(response)
    let FileSaver = require('file-saver');
    let blob = new Blob([response], {type: "application/octet-stream"});
    let filename ="testdownload"
    FileSaver.saveAs(blob, filename)

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2018-09-04 16:33:45

我需要将这个添加到头文件中。responseType:'blob‘

这篇文章很好地解释了https://medium.com/@fakiolinho/handle-blobs-requests-with-axios-the-right-way-bb905bdb1c04

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52152964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档