我想要实现的是使用 axios 从我的前端向后端发送一个 post 请求。这个 post 请求的主体中有一个 csv 文件。
使用邮递员:postman request
我的代码是这样的:
import React, { Component } from 'react';
import axios from 'axios'
class SessionsUpdate extends Component {
state = {
selectedFile: null
}
handleSubmit = async () => {
let formData = new FormData();
formData.append('file', this.state.selectedFile);
await axios.post(
'https://localhost:8765/...',
formData,
{ headers: { 'x-observatory-auth': localStorage.getItem("token"), 'Content-Type': 'multipart/form-data' } }
)
console.log("log") //this is not printed here
}
onFileChange = event => {
this.setState({ selectedFile: event.target.files[0] });
};
render() {
return (
<form onSubmit={this.handleSubmit}>
<div>
<h1>Choose a file to store</h1>
</div>
<div>
<fieldset>
<input type="file" accept=".csv" onChange={this.onFileChange} />
</fieldset>
</div>
<input type="submit" value="Submit" />
</form>
);
}
}
export default SessionsUpdate;
所以 HTML 部分创建了一个简单的 GUI 来从本地存储中选择一个 csv 文件,我想要的是将这个 csv 文件传递给我的帖子请求。在网上搜索后,我发现这样做的主要方法是使用 formdata 但是它在我的情况下不起作用,我已经被困在这个问题上很长一段时间了。不过,这个请求在邮递员上工作得很好。
对我缺少的东西有什么想法吗?