【问题标题】:415 unsupported media type error while trying to upload file from react to web api尝试将文件从反应上传到 Web api 时出现 415 不支持的媒体类型错误
【发布时间】:2022-01-10 05:38:19
【问题描述】:

我是 react 和 web api 的新手,在尝试将我的文件上传到我的 web api 函数时遇到了这个不受支持的媒体类型错误

这是我的反应 js 代码:

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代码是这样的:

[HttpPost]
        [Route("Uploadfile")]
        public IHttpActionResult Uploadfile(object formData)
        {

            try
            {

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



        }

我正在尝试上传文件并将其发送到我的后端,但是我收到了这个错误。这个错误是什么意思,我该如何解决?

【问题讨论】:

    标签: c# reactjs routes http-post webapi


    【解决方案1】:

    每当您上传文件时,请确保在请求中添加适当的标头。

    axiosAPI.post('api/observation/Uploadfile', formData, {
        headers: {
          'Content-Type': 'multipart/form-data' // <- HERE
        }
    }).then(response => {});
    

    【讨论】:

    • 这能解决问题吗?
    • 这是你在处理文件上传时必须的标题,看看这篇文章,它解释得很好stackoverflow.com/a/4526286/10781026
    • 不,它仍然显示相同的问题,我认为标题不是问题。我需要在 C# 中调用的文件是否有特定类型?
    • 我会让 C# 专家来回答这个问题。顺便说一句,尝试在您的问题标签中添加 C#,这样您就可以在这里吸引他们。
    猜你喜欢
    • 1970-01-01
    • 2021-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多