reactjs - 使用 Fetch API 和 cross-fetch polyfill 在文件输入更改时上传文件

标签 reactjs redux react-redux fetch-api

我将 Fetch API 与交叉获取 polyfill 一起使用 https://www.npmjs.com/package/cross-fetch

在 SO 上放屁几个小时,试图使用它上传文件。无论我做什么,我似乎都无法避免“不支持的 BodyInit 类型”错误。

<input
    name="file"
    type="file"
    onChange={event => {
      event.preventDefault();
      var f = event.target.files[0];
      var data = new FormData();
      data.append("file", f);

      fetch("/my-api", {
        method: "POST",
        body: data
      });
    }}
  />

这是一个可运行的例子:https://codesandbox.io/s/v08lpj24wy

当然,我不会直接在 onChange 处理程序中执行此类操作,但该示例说明了错误。我做错了什么?

最佳答案

事实证明,您的 import fetch from "cross-fetch" 通过破坏 blob 和 FormData 的解析来错误地填充提取。只需删除导入并查看一切正常。

关于reactjs - 使用 Fetch API 和 cross-fetch polyfill 在文件输入更改时上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48876058/

相关文章:

javascript - 如何使用 Framer Motion 沿路径移动 SVG 对象?

javascript - OnClick 事件处理程序重定向到reactjs 中?

javascript - 测试套件无法运行。 Invariant Violation : _registerComponent(. ..): 目标容器不是 DOM 元素

reactjs - 将数据从一个组件传递到另一个组件 - React 和 Redux

javascript - 删除功能无法正常工作-Reactjs

javascript - 什么webpack4加载器用于加载*.svg文件,*.gif,*.eot?

reactjs - 通用身份验证 Redux 和 React 路由器

javascript - 未找到 React Redux Store 变量,即使它在存储中

javascript - 是否可以使用 React-strap 构建渐进式 Web 应用程序?

react-native - React redux 数据未成功传递