当我卷曲的东西,它工作正常:
curl -L -i -H 'x-device-id: abc' -F "url=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" http://example.com/upload
如何让这个与axios一起工作?如果重要,我正在使用反应:
uploadURL (url) { return axios.post({ url: 'http://example.com/upload', data: { url: url }, headers: { 'x-device-id': 'stuff', 'Content-Type': 'multipart/form-data' } }) .then((response) => response.data) }
由于某种原因,这不起作用.
以下是我使用axios进行文件上传的方法
import React from 'react' import axios, { post } from 'axios'; class SimpleReactFileUpload extends React.Component { constructor(props) { super(props); this.state ={ file:null } this.onFormSubmit = this.onFormSubmit.bind(this) this.onChange = this.onChange.bind(this) this.fileUpload = this.fileUpload.bind(this) } onFormSubmit(e){ e.preventDefault() // Stop form submit this.fileUpload(this.state.file).then((response)=>{ console.log(response.data); }) } onChange(e) { this.setState({file:e.target.files[0]}) } fileUpload(file){ const url = 'http://example.com/file-upload'; const formData = new FormData(); formData.append('file',file) const config = { headers: { 'content-type': 'multipart/form-data' } } return post(url, formData,config) } render() { return () } } export default SimpleReactFileUpload
资源
如果您要发送字母数字数据,请尝试更改
'Content-Type': 'multipart/form-data'
至
'Content-Type': 'application/x-www-form-urlencoded'
如果您要发送非字母数字数据,请尝试删除"内容类型".
如果它仍然不起作用,请考虑尝试请求 - 承诺(至少测试它是否真的是axios问题)