gpt4 book ai didi

javascript - Reactjs 输入上传不返回本地 URL

转载 作者:行者123 更新时间:2023-11-30 19:20:30 25 4
gpt4 key购买 nike

在将图像上传到服务器之前尝试显示图像预览时遇到问题。我正在使用 reactjs。

我的问题是,当我尝试上传图像时,我得到了文件数据,但是当我使用阅读器时,它不返回本地 URL,只显示 undefined

这是我试图关注的话题get-image-preview-before-uploading-in-react

但是当我尝试检查我的图片本地 url 时,它返回 undefined

这是我在文件中导入的内容:

import React, {Component} from "react";
import { MDBContainer, MDBRow, MDBCol, MDBBtn, MDBIcon, MDBInput, MDBDropdown, MDBDropdownToggle, MDBDropdownMenu, MDBDropdownItem } from 'mdbreact';

这是我的js:

<p className="text-upload">Front Desain</p>
<input ref="file" type="file" name="front Design" onChange={this.frontDesign}/>

这是我的方法或函数:

  frontDesign = (e) =>{
var file = this.refs.file.files[0];
var reader = new FileReader();
var url = reader.readAsDataURL(file);

reader.onloadend = function (e) {
this.setState({
form:{
frontDesign: [reader.result]
}
})
}.bind(this);
console.log("Check Data : ", file)
console.log("Check URL : ", url)

}

这是我的状态:

  state ={
form:{
frontDesign: [],
}
}

这是我的控制台: What I got in my Console

这是我的代码和框:

https://codesandbox.io/s/tender-mclaren-zb1l7?fontsize=14

谁能帮我解决这个问题?

最佳答案

From the mozilla website看来您需要向阅读器添加一个加载事件监听器。某些版本的 IE 不支持此示例代码。

...

reader.addEventListener("load", () => {
this.setState(state => ({
...state,
form:{
frontDesign: [reader.result]
}
}))
const url = reader.result;
console.log(url);
}, false);

...

在这里工作 condeSanbox:https://codesandbox.io/s/affectionate-lamport-dnbij

关于javascript - Reactjs 输入上传不返回本地 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57534141/

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