当前位置: 首页 > 面试题库 >

如何在Axios中使用React设置多部分?

甄胡非
2023-03-14
问题内容

当我卷曲东西时,它可以正常工作:

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

资源



 类似资料:
  • 我正在用Expo CLI构建一个React原生应用程序,我正在尝试用Axios和redux Thunk获取一些用户数据到我的redux商店。

  • 问题内容: 如何在axios中设置获取响应的状态? 问题答案: 您在这里遇到语法错误。你应该试试这个 这里有几件事要注意: 是一个异步函数,这意味着其余代码将被执行。当服务器的响应到达时,传递给的函数将被执行。的返回值称为承诺对象。您可以在此处了解更多信息 关键字根据调用的位置而具有不同的值。in 应该 引用构造函数对象,并且在函数内部调用时,它引用该对象。这就是为什么我分配给变量的原因。您可以在

  • 我正在使用本指南向使用JMeter:https://www.blazemeter.com/blog/testing-advanced-rest-api-file-uploads-jmeter的服务器发送多部分POST请求 在这个请求中有几个部分,如文件、一些字符串和JSON。 问题是,尽管我在“Content type”字段中指定了边界,但JMeter设置了它想要的任何内容,结果是服务器(Wild

  • 我试图从react(带有redux)前端outlook add-id发出请求,它使用Axios在HTTPS上运行。我想在package.json中使用代理设置,因此我只需要在请求中使用/path/to/endpoint。然而,后端是在http上运行的,当两者都在本地主机上时,axios似乎不使用代理设置,也不会重新定向到非httpsendpoint。我尝试过在https上运行后端,将请求发送到安全

  • 问题内容: 我已经研究了许多类似这样的文章和帖子,但在我的情况下不起作用,我只需要使用axios从我的应用程序中的帖子列表中删除一个项目即可。在axios文档中,它说您需要将参数传递给delete方法。另外,在大多数应用中,我都使用过ID,而ID却没有处于状态。但是我不能让它工作。请查看我的整个代码。我知道我的删除方法是错误的,请帮助我修复它: 我还在控制台中看到此错误:未捕获(承诺)TypeEr

  • 直到最近,我在我的Nuxt项目中使用了我自己的注册/登录实现,在成功注册/登录之后,我能够做到这一点$axios。setToken(token,'Bearer'),它将在axios reguests上全局设置授权头。现在我必须重构应用程序并使用Nuxt auth模块。但现在我似乎无法设置此标题。 这是我的身份验证配置: 我以为auth应该自动添加这个授权,因为它默认将设置为,但它没有。所以我试图明