首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >415不支持的媒体类型错误时,试图从react上传文件

415不支持的媒体类型错误时,试图从react上传文件
EN

Stack Overflow用户
提问于 2022-01-10 05:38:19
回答 3查看 1.9K关注 0票数 0

我是新的反应和web api,我得到这个不受支持的媒体类型错误,而我试图上传我的文件到我的web api功能。

下面是我的代码:

代码语言:javascript
复制
onFileUpload = () => {
    // Create an object of formData
    const formData = new FormData();

    console.log("FormData");

    // Update the formData object
    formData.append('myFile', this.state.selectedFile, this.state.selectedFile.name);
    console.log(this.state.selectedFile);

    // Request made to the backend api
    // Send formData object
    //axios.post("api/uploadfile", formData);

    axiosAPI.post('api/observation/Uploadfile', formData).then(response => {});
  };

相应的web api代码如下:

代码语言:javascript
复制
[HttpPost]
        [Route("Uploadfile")]
        public IHttpActionResult Uploadfile(object formData)
        {

            try
            {

                
                return Ok(formData);
            }
            catch (Exception ex)
            {
                return Content(HttpStatusCode.NoContent, "Something went wrong");
            }



        }

我试图上传文件,并将其拿到我的后端,但我得到了这个错误。这个错误意味着什么?我如何解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2022-04-22 21:30:54

我也有同样的问题,我使用.NET 6作为API,并与Axios的前端反应。

为了能够在控制器中获取文件,我必须使用"FromForm“属性,否则,当我试图执行Post请求时,我会得到415错误。

代码语言:javascript
复制
    [HttpPost]
    public async Task<IActionResult> Create([FromForm] ExampleDto dto)
    {
          /// ...
    }

为了使用Axios从发送数据,我和您一样创建了FormData对象,并在没有任何特殊头o配置的情况下发出了post请求。

希望这能帮助你解决你的问题。

票数 3
EN

Stack Overflow用户

发布于 2022-01-10 05:59:14

每当您上传文件时,请确保向请求添加适当的标题。

代码语言:javascript
复制
axiosAPI.post('api/observation/Uploadfile', formData, {
    headers: {
      'Content-Type': 'multipart/form-data' // <- HERE
    }
}).then(response => {});
票数 0
EN

Stack Overflow用户

发布于 2022-04-13 23:13:17

有时问题在formData上,您需要在formData上附加obj文件,然后发送到api。

代码语言:javascript
复制
const formData = new FormData(); 
var file = fileList[0].originFileObj;
formData.append("excelFormFile", file); //Append file obj to formData

//excelFormFile名称类似于.NET核心Api类c#代码:“公共异步任务PostProductImport(IFormFile excelFormFile)”

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70648205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档