gpt4 book ai didi

javascript - 如何在 react-dropzone 中将图像转换为 base64?

转载 作者:行者123 更新时间:2023-12-05 07:34:15 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序上实现 react-dropzone 但我无法发布并且总是收到内部服务器错误,并且错误:TypeError:参数应该是一个字节-像对象或 ASCII 字符串,而不是“列表”,以防数据发布必须使用 convert base64

这是我的 onDrop 函数

onDrop(uploadData) {
this.setState({
uploadData,
});
}
onDropHandler(uploadData) {
var uploadData = uploadData[0];
const reader = new FileReader();
reader.readAsDataURL(uploadData);
reader.onload = event => {
this.setState({
uploadData: this.state.uploadData([{ base64: event.target.result }]),
});
};
reader.readAsDataURL(uploadData);
}

这是我的渲染方法:

<div className="dropzone">
<Dropzone
onDrop={this.onDrop.bind(this)}
accept="image/jpeg, image/png, image/jpg"
onDrop={uploadData => {
this.setState({ uploadData });
}}
maxSize={200000}
multiple={false}
>
<p>Maksimal 2 MB (JPG/PNG)</p>
</Dropzone>
{this.state.uploadData.map(f => (
<span key={f.name}>
{f.name} - {f.size} bytes
</span>
))}
</div>

This is error pic after submit

and this is json pic after submit

最佳答案

也许这会有用

    const handleDrop = React.useCallback((acceptedFiles) => {
const file = acceptedFiles.find(f => f)
let reader = new FileReader()

reader.readAsDataURL(file)
reader.onload = () => {
console.log({
src: file.preview,
data: reader.result
})
setB64(reader.result)
}

}, []);

其中 setB64 是一个 React useState Hook

关于javascript - 如何在 react-dropzone 中将图像转换为 base64?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50250655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com