javascript - 如何通过 react 在 axios 中设置多部分?

标签 javascript reactjs multipartform-data axios

当我 curl 某些东西时,它工作正常:

curl -L -i -H 'x-device-id: abc' -F "url=http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"  http://example.com/upload

如何让它与 axios 一起正常工作?如果这很重要,我正在使用 React:

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 在 React 中上传文件

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 (
      <form onSubmit={this.onFormSubmit}>
        <h1>File Upload</h1>
        <input type="file" onChange={this.onChange} />
        <button type="submit">Upload</button>
      </form>
   )
  }
}



export default SimpleReactFileUpload

Source

关于javascript - 如何通过 react 在 axios 中设置多部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41878838/

相关文章:

javascript - 如何获取所有选项卡并在 firefox 中的特定选项卡 ID 上执行 javascript

javascript - 如何压缩 Yup "when"验证

javascript - HTML div 在写入文本时更改宽度

reactjs - 在 React-bootstrap 的 OverlayTrigger 放置属性上使用字符串变量时出现问题

reactjs - 使用 Webpack 在 Electron 项目中使用外部目录中的组件

java - 向 Jersey multipart-form-data 函数添​​加注释会破坏它

javascript - 在调用 setState 之前修改 React 组件状态

javascript - 在 react 中渲染后将 getOffsetHeight 与异步数据结合使用

java - Spring:同一请求中的JSON数据和文件

ios - 如何使用 ios、swift3、Alamofire 4 中的多部分表单数据上传图像作为参数以及其他参数