【问题标题】:Web API ASP.NET Core Post Request 415 Unsupported Media TypeWeb API ASP.NET Core 发布请求 415 不受支持的媒体类型
【发布时间】:2020-09-25 22:39:01
【问题描述】:

我是 ASP.NET 核心的新手,我试图将文件 POST 到服务器,但即使在点击任何代码之前,也会不断收到 415 Unsupported Media Type 错误。文件是 PNG、PDF 还是 TXT 都没有关系。有没有我在这里缺少的设置?我正在使用 Postman 使用 POST 请求和表单数据对其进行测试。提前感谢您提供的任何帮助。

这是 Web API 方面:

[Route("api/[controller]")]
[ApiController]
public class ImageUploadController : ControllerBase
{
    public static IWebHostEnvironment _environment;

    public ImageUploadController(IWebHostEnvironment environment)
    {
        _environment = environment;
    }

    public class FileUploadAPI
    {
        public IFormFile files { get; set; }
    }

    [HttpPost]
    public async Task<string> Post(FileUploadAPI objFile)
    {
        try
        {
            if (objFile.files.Length > 0)
            {
                if (!Directory.Exists(_environment.WebRootPath + "\\Upload\\"))
                {
                    Directory.CreateDirectory(_environment.WebRootPath + "\\Upload\\");
                }
                using (FileStream fileStream = System.IO.File.Create(_environment.WebRootPath + "\\Upload\\" + objFile.files.FileName))
                {
                    objFile.files.CopyTo(fileStream);
                    fileStream.Flush();
                    return "\\Upload\\" + objFile.files.FileName;
                }
            }
            else
            {
                return "Failed";
            }
        }
        catch (Exception ex)
        {
            return ex.Message.ToString();
        }
    }
}

【问题讨论】:

    标签: c# asp.net-core asp.net-web-api


    【解决方案1】:

    添加 [FromForm] 。

        [HttpPost]
        public async Task<string> Post([FromForm]FileUploadAPI objFile)
        {
            // codes
        }
    

    【讨论】:

    • 就是这样。细节决定成败。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 2020-01-17
    • 2021-12-01
    • 2017-08-19
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多