我试图使用form-data
和axios
发布文本和文件字段,但我收到一个错误:getHeaders()
不是一个函数。下面是我的submit
代码,请注意我使用React
与Typescript
。
import * as FormData from 'form-data'
import axios from 'axios'
submit(event: React.FormEvent<HTMLFormElement>) {
event.preventDefault()
const { title, description, pictureFile } = this.state
let data = new FormData()
data.append('title', title)
data.append('description', description)
data.append('picture', pictureFile)
axios.post('/api/route', data, {
headers: data.getHeaders() // ERROR: getHeaders is not a function
})
.then(res => handle(res))
.catch(err => handle(err))
}
我感兴趣的特定标题是Authorization
,我可以手动设置它,但是边界是必需的所以...我最好尝试让getHeaders()
函数工作。
我没有在这里得到问题,getHeaders
似乎是form-data
API的一部分。
请帮忙。
form-data
仅用于Node
,如果你在浏览器上运行它,它将切换到window's
版本的FormData
。我在他们的代码中看到了这个。
module.exports = typeof self == 'object' ? self.FormData : window.FormData;