The*_*Guy 3 python flask reactjs
我正在尝试使用 reactjs 从前端上传文件。后端使用 Flask python。我收到响应代码 400。我做错了什么?
前端 :
<input type="file" name="file" onChange={this.onChangeFile}/>
<button onClick={this.uploadFile}>
Upload
</Button>
uploadFile(e){
e.preventDefault()
let f = this.state.fileToBeSent
let f_name = this.state.fileToBeSent.name
console.log(f_name)
let fileReader = new FileReader()
fileReader.readAsDataURL(f)
fileReader.onload = (e) => {
let toPost = {
'file_name' : f_name,
'file_data': e.target.result
}
console.log(toPost)
return axios.post('/api/upload', toPost)
.then(res => console.log(res))
.catch(err => console.warn(err))
}
}
Run Code Online (Sandbox Code Playgroud)
并在后端:
@app.route('/api/upload', methods = ['POST'])
def upload_file():
file = request.files['file']
print(file)
return "done"
Run Code Online (Sandbox Code Playgroud)
您可以使用FormData来发送您的文件。
例子
uploadFile(e) {
e.preventDefault();
let file = this.state.fileToBeSent;
const formData = new FormData();
formData.append("file", file);
axios
.post("/api/upload", formData)
.then(res => console.log(res))
.catch(err => console.warn(err));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5425 次 |
| 最近记录: |