You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决ASP.NET Core Web API接收Angular form-data的媒体类型错误?

解决ASP.NET Core Web API接收multipart/form-data报错的方案

针对你遇到的"This resource does not support the 'multipart/form-data' media type of the request entity"错误,可按以下步骤排查解决:

  • 确认请求路径与路由完全匹配
    你的接口路由是api/CartaPorte/sendFormData,Postman请求的URL必须严格对应,比如https://localhost:xxxx/api/CartaPorte/sendFormData,检查是否存在拼写错误、大小写不一致(ASP.NET Core路由默认不区分大小写,但建议保持一致)。

  • 确保Postman请求自动设置正确的Content-Type
    在Postman中选择form-data格式后,不要手动修改请求头的Content-Type,Postman会自动生成包含边界的multipart/form-data; boundary=xxxx头,手动修改可能导致格式错误。

  • 验证项目基础配置支持multipart请求
    确保Program.cs(.NET 6+)或Startup.cs(.NET 5及更早)中正确配置了控制器服务,默认配置已支持multipart/form-data:

    var builder = WebApplication.CreateBuilder(args);
    // 添加控制器服务,默认包含multipart请求处理支持
    builder.Services.AddControllers();
    
    var app = builder.Build();
    app.UseHttpsRedirection();
    app.UseAuthorization();
    // 映射控制器路由
    app.MapControllers();
    app.Run();
    
  • 修正接口代码的冗余与逻辑问题
    你的接口中强制转换IActionResult是多余的,且无论逻辑是否成功都返回BadRequest,可优化代码如下:

    [HttpPost("api/CartaPorte/sendFormData")]
    public IActionResult SendPDF([FromForm] FormDataModel formData)
    {
        try
        {
            if (formData.PDFContent == null || formData.PDFContent.Length == 0)
            {
                return BadRequest("未上传有效文件");
            }
            var ruta = formData.Ruta; 
            var archivo = formData.PDFContent; 
            // 这里添加文件处理、保存等业务逻辑
            return Ok("表单数据接收成功");
        } 
        catch (Exception ex)
        {
            return BadRequest($"处理失败:{ex.Message}");
        }
    }
    
  • 匹配Postman参数名与模型属性
    在Postman的form-data表单中,键名必须与FormDataModel的属性名一致:

    • 文本参数键名填Ruta,对应输入字符串值
    • 文件参数键名填PDFContent,类型选择File并上传PDF文件
  • 排查全局拦截组件
    如果项目中存在自定义中间件、过滤器或授权策略,检查是否有拦截multipart/form-data类型请求的逻辑,确保该媒体类型被允许通过。

内容的提问来源于stack exchange,提问作者Miguel Silva Rubio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 20:50:09