无法将多部分/表单数据发送到Node.js服务器

时间:2019-12-05 12:58:27

标签: reactjs axios

我正在尝试在我的React应用程序中发送multipart / formdata。每次我使用axios进入POST api时,formdata始终为空。我尝试转换为JSON.stringify和键值方法,但似乎无济于事。我的标头确实设置为const TablePageList = ({ data }) => { return ( <Tbody> <Tr> <Td>{data.poolNumber}</Td> <Td>{data.sender}</Td> <Td>{data.notRoutedReason}</Td> <Td>{data.sentDateTime}</Td> <Td>{data.requestedDeliveryReportMaskText}</Td> <Td>{data.deliveryReportReceivedDateTime}</Td> <Td>{data.isUnicode}</Td> <Td>{data.messageUUID}</Td> </Tr> </Tbody> ); };

'Content-Type': 'multipart/form-data'

我已经花了几个小时,请帮忙解决。

1 个答案:

答案 0 :(得分:0)

以下是使用axios发送文件的示例:

就您而言,我已在此处调试您的代码:https://codesandbox.io/s/react-example-ypnbv?fontsize=14&hidenavigation=1&theme=dark

state = { selectedFile: null }
//handler for file change event
fileChangedHandler = event => {
  this.setState({ selectedFile: event.target.files[0] })
}

  uploadHandler = () => {
    const formData = new FormData()
    formData.append(
      'myFile',
      this.state.selectedFile,
      this.state.selectedFile.name
    )
    axios.post('my-domain.com/file-upload', formData)
  }