reactjs - 使用 window.FileReader REACT 上传多个文件

标签 reactjs react-redux filereader

我目前已经实现了将单个文件上传到我的 react 应用程序, 但想要上传多个文件,下面是我用来上传单个文件的代码。是否可以上传多个文件?

 captureFile = (event) => {
    const file = event.target.files[0]
    const reader = new window.FileReader()
    reader.readAsArrayBuffer(file)
    reader.onloadend = () => {
      this.setState({
        buffer: Buffer(reader.result),
        file: URL.createObjectURL(file),
      })
    }
  }

这就是我目前正在尝试做的事情

  captureFile = (event) => {
    const files = event.target.files
    for (let i = 0; i < files.length; i++) {
      const file = files[i]
      const reader = new window.FileReader()
      reader.readAsArrayBuffer(file)

    reader.onloadend = () => {
      this.setState({
        buffer: Buffer(reader.result),
        file: URL.createObjectURL(file),
      })
    }
  }

最佳答案

您可以使用 FileReader 或 UrlObject 来读取图像或文件,如下所示:

    const[selectedFiles,setSelectedFiles] = useState([]);

    captureFile = (event) => {
    let files = [];
    for (let file of event.target.files) {
      files.push(URL.createObjectURL(file));
      }
    setSelectedFiles(files);
   }

然后您可以通过映射函数迭代 selectedFiles,例如:

   selectedFiles.map((item,key) => (<img key={key} src={item} />));

它对我有用,而不是 FileReader,因为它使用回调函数。

关于reactjs - 使用 window.FileReader REACT 上传多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56178918/

相关文章:

javascript - 从另一个 reducer 中的一个 reducer 访问 reducer 状态的一部分

reactjs - Typescript React + Redux 中的联合类型出现类型错误时属性不存在

java - 如何修复读取 csv 文件时 getCause 指向 null 的 FileReader 错误?

javascript - 文件未在文件阅读器中上传

java - 文件阅读器无法正常工作?

javascript - 渲染 React 组件时出现意外标记

reactjs - 如何在 react native 路由器通量中更改后退按钮箭头的颜色?

reactjs - 谷歌地图 react 安装失败

html - 在 Netlify 上部署后,Roboto 字体在 Safari 或移动浏览器中不起作用

reactjs - 替换 Query 对象的 my 字段时缓存数据可能会丢失