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

C# Web API接收Postman FormData文件时Params["document"]返回null如何解决

问题原因及解决方案

核心错误

你当前使用HttpContext.Current.Request.Params["document"]获取上传文件是完全错误的:Params集合仅包含请求的查询字符串、文本表单字段、Cookie和服务器变量,不会包含二进制的上传文件内容,所以返回结果必然为NULL。

正确实现方式

根据你使用的WebAPI版本选择对应代码:

1. .NET Framework 版本WebAPI

从Request.Files集合中获取上传文件,文件的键名必须和Postman中Form-Data的Key完全一致:

// 注意键名要和Postman里你填的表单字段名完全匹配,大小写敏感
var fileToUpload = HttpContext.Current.Request.Files["document"];

2. .NET Core / .NET 5+ 版本WebAPI

HttpContext.Current在新版.NET中已废弃,两种方式获取文件:

  • 直接在Action参数中声明对应类型即可自动绑定:
[HttpPost]
public IActionResult Upload(IFormFile document)
{
    // 直接使用document对象即可
}
  • 手动从请求中读取:
var fileToUpload = Request.Form.Files["document"];

附加排查点

如果修改代码后还是获取不到,检查以下配置:

  • Postman中Form-Data里的文件字段类型要选择File,不能选Text,且Key名和代码中读取的键名完全一致
  • 请求方式必须为POST,接口必须添加[HttpPost]特性
  • 请求头的Content-Type必须为multipart/form-data,Postman选Form-Data提交时会自动配置,不需要手动添加

内容的提问来源于stack exchange,提问作者SamyCode

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 19:27:02