当我向 ASP.NET CORE 中的 Web API 控制器发送多部分请求时,使用哪个格式化程序?

Which formatter is used when I send a multipart request to a Web API Controller in ASP.NET CORE?

检查 ASP.NET 核心 built-in formatters 似乎没有多部分格式化程序。然而,多部分请求是模型绑定的,因此需要某种输入格式化程序,它创建键值对,然后将其绑定到模型。那是哪个格式化程序?

模型在 model binding. Model binder in its turn uses IValueProvider to get values from request. There is FormValueProvider for multipart content, which in its turn gets values from FormValueProviderFactory provided by request.ReadFormAsync() call. Default implementation of HttpRequest redirects the call to FormFeature's ReadFormAsync 期间绑定。所以你可以在那里找到读取多部分内容值的所有逻辑。