【问题标题】:form-data | axios: Unable to get headers from FormData, Error: getHeaders is not a function表格数据 | axios:无法从 FormData 获取标题,错误:getHeaders 不是函数
【发布时间】:2019-07-07 23:55:55
【问题描述】:

我正在尝试使用 form-dataaxios 发布文本和文件字段,但出现错误:getHeaders() 不是函数。下面是我的submit 代码,注意我使用的是ReactTypescript

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 的一部分。

请帮忙。

【问题讨论】:

    标签: javascript reactjs axios form-data


    【解决方案1】:

    form-data只在Node上使用,如果你在浏览器上运行它会切换到window's版本的FormData。我在他们的代码中看到了这一点。

    module.exports = typeof self == 'object' ? self.FormData : window.FormData;
    

    【讨论】:

    • 那么...你是如何得到标题的?
    猜你喜欢
    • 2021-11-05
    • 2016-04-22
    • 2021-11-20
    • 2022-01-01
    • 2021-05-19
    • 2020-10-21
    • 2017-05-30
    • 2021-08-03
    • 2021-12-03
    相关资源
    最近更新 更多