React-Dropzone 如何将每个文件转换为 base64
React-Dropzone how convert each file to base64
我正在使用 react-dropzone 插件上传文件。我担心如何将每个文件转换为 base64:
例如:
这是我获取文件的函数:
例如,我在这里为每个文件创建缩略图并附加到对象。但是如何添加到 item here prop like base64string: 并且它会为每个文件保留 base64 数据?
this.onDrop = files => {
files.map(file =>
Object.assign(file, {
preview: URL.createObjectURL(file),
})
);
};
看看这个,你可以得到文件,然后你可以将它们存储到状态实例的图像数组中。
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);
});
}
使用此代码,您将获得一个包含 base64 数据和 blob url 的数组以供预览。
const [data, setData] = useState([])
const onDrop = (files) => {
files.map((file) => {
const reader = new FileReader()
reader.onload = (e) => {
setdata(
files.map((file) =>
Object.assign(file, {
preview: URL.createObjectURL(file),
base64Image: e.target.result,
})
)
)
}
reader.readAsDataURL(file)
})
}
我正在使用 react-dropzone 插件上传文件。我担心如何将每个文件转换为 base64:
例如:
这是我获取文件的函数: 例如,我在这里为每个文件创建缩略图并附加到对象。但是如何添加到 item here prop like base64string: 并且它会为每个文件保留 base64 数据?
this.onDrop = files => {
files.map(file =>
Object.assign(file, {
preview: URL.createObjectURL(file),
})
);
};
看看这个,你可以得到文件,然后你可以将它们存储到状态实例的图像数组中。
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);
});
}
使用此代码,您将获得一个包含 base64 数据和 blob url 的数组以供预览。
const [data, setData] = useState([])
const onDrop = (files) => {
files.map((file) => {
const reader = new FileReader()
reader.onload = (e) => {
setdata(
files.map((file) =>
Object.assign(file, {
preview: URL.createObjectURL(file),
base64Image: e.target.result,
})
)
)
}
reader.readAsDataURL(file)
})
}