React-Dropzone如何将每个文件转换为base64

时间:2019-08-16 09:50:26

标签: reactjs react-dropzone

我正在使用react-dropzone插件上传文件。我担心如何将每个文件转换为base64:

例如:

这是我获取文件的功能: 例如,我在这里为每个文件创建拇指并附加到对象。但是如何在这里添加像base64string这样的项目呢?它将为每个文件保留base64数据?

this.onDrop = files => {
      files.map(file =>
        Object.assign(file, {
          preview: URL.createObjectURL(file),
        })
      );
    };

1 个答案:

答案 0 :(得分:1)

检查一下,可以获取文件,然后可以将它们存储到状态实例的图像数组中。

onDropHandler = (files) => {
    files.map(file => {
        const reader = new FileReader();
        reader.onload = (event) => {
            //store result into your state array.
            this.setState(prevState => {
                const updatedImages = [...prevState.images, event.target.result];
                return {
                    images: updatedImages,
                }
            })
            console.log(event.target.result);
        };
        reader.readAsDataURL(file);
    });
}