form-data | axios: Unable to get headers from FormData, Error: getHeaders is not a function
form-data | axios: Unable to get headers from FormData, Error: getHeaders is not a function
我正在尝试使用 form-data
和 axios
post 文本和文件字段,但出现错误: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))
}
我特别感兴趣的 header 是 Authorization
,我可以手动设置它,但是边界是必需的,所以...我最好尝试得到那个 getHeaders()
功能正常工作。
我不明白这里的问题,getHeaders
似乎是 form-data
API 的一部分。
请帮忙。
form-data
仅在 Node
上使用,如果您在浏览器上 运行 它,它将切换到 FormData
的 window's
版本。我在他们的代码中看到了这一点。
module.exports = typeof self == 'object' ? self.FormData : window.FormData;
我正在尝试使用 form-data
和 axios
post 文本和文件字段,但出现错误: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))
}
我特别感兴趣的 header 是 Authorization
,我可以手动设置它,但是边界是必需的,所以...我最好尝试得到那个 getHeaders()
功能正常工作。
我不明白这里的问题,getHeaders
似乎是 form-data
API 的一部分。
请帮忙。
form-data
仅在 Node
上使用,如果您在浏览器上 运行 它,它将切换到 FormData
的 window's
版本。我在他们的代码中看到了这一点。
module.exports = typeof self == 'object' ? self.FormData : window.FormData;