我正在使用Postman来测试.Net Core 2.1 Web API.我从这开始,它工作 - 我能够从Postman发送文件到我的Web API.
Web.API
[HttpPost("uploads")] public IActionResult FileUpload(IFormFile myfile) { ... return Ok(); }
但是,我需要传递一些额外的表单数据和文件.基于我见过的其他帖子,我尝试了以下内容:
[HttpPost("uploads")] public IActionResult FileUpload(UploadFile data) { ... return Ok(); } public class UploadFile { public IFormFile myfile {get; set;} public bool forceOverwrite {get; set;} }
现在从邮递员发帖导致"输入无效".我已经做了一些搜索,似乎找不到任何已经得到类似工作的人.
更新
我也试过以下几点; 但是,附加值总是假的 - 即使发送为真.
public IActionResult FileUpload(IFormFile myfile, bool forceOverwrite)
更新2
这是我在Postman中添加的内容,以及它在Fiddler中的显示方式.(PS你可以忽略POST中的路由与我的代码中列出的路由不匹配的事实 - 我选择简化命名方面的帖子.
要在.NET Core Web API中绑定FormData,您需要添加FromForm
如下所示的属性
[HttpPost("uploads")] public IActionResult FileUpload([FromForm]UploadFile data) { return Ok(); }