【发布时间】:2020-03-19 11:23:18
【问题描述】:
我正在构建一个 React 应用程序,其中有一部分我应该设置个人资料图片,但每次我拨打 api 时,我都会收到一个错误,我没有填写其中一个字段发布 api 以返回成功响应。
这是我的 jsx
<form>
<input type="file" name="file" onChange={(e) => this.handleFile(e)}></input>
<button type="button" onClick={(e) => this.handleUpload(e)} >send</button>
</form>
这是我用来处理这些的代码
state = {
file: null
};
handleFile(e) {
console.log(e.target.files, "ssss");
console.log(e.target.files[0], "ssss");
let file = e.target.files
this.setState({ file: e })
}
handleUpload(e) {
let file = this.state.file
let fromdata = new FormData();
fromdata.append('image', file);
fromdata.append('name', "filedata");
const headers = {
Authorization': localStorage.getItem('api_key'),
}
const user = {
filedata: fromdata,
type: 1,
};
axios.post(`sth sth`, user, {
headers: headers
})
.then(res => {
console.log(res);
console.log(res.data);
})
}
所以基本上服务器需要type 和filedata 但每次我发送api 请求它都会不断返回我
filedata: ["The filedata field is required."]
我似乎找不到问题所在。
【问题讨论】: