Document IFormFileCollection vs IReadOnlyList<IFormFile> binding behavior in Minimal APIs#37180
Document IFormFileCollection vs IReadOnlyList<IFormFile> binding behavior in Minimal APIs#37180Copilot wants to merge 7 commits into
Conversation
Agent-Logs-Url: https://github.com/dotnet/AspNetCore.Docs/sessions/31eabf0b-7df6-4426-8954-70d277d62994 Co-authored-by: wadepickett <10985336+wadepickett@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Documents the (previously undocumented) differences in Minimal API form-file binding behavior across IFormFile-related parameter types, helping readers choose the correct type for “all files” vs “name-matched files” scenarios.
Changes:
- Added an “IFormFile collection binding behavior” subsection under the existing form binding section.
- Added a comparison table describing binding results for
IFormFileCollection,IFormFile,IReadOnlyList<IFormFile>, and unsupported collection shapes. - Added a note that the same behavior applies for
[AsParameters]and form-mapped complex types.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
|
@danroth27, Internal review link directly to the new section for your review on this binding behaviour update. |
|
@copilot, also update the file that uses this include to have the latest ms.date value in the metadata: update this: to this: |
Updated |
wadepickett
left a comment
There was a problem hiding this comment.
Approved, after a few updates were applied.
Internal review link directly to new section
Fixes #37173
Minimal API form-file binding has undocumented behavioral differences depending on parameter type —
IFormFileCollectionignores the parameter name and binds all files,IReadOnlyList<IFormFile>binds only name-matched files, and other collection types silently don't bind at all. Requested by framework team in dotnet/aspnetcore#66757.Changes:
#### IFormFile collection binding behaviorsubsection toparameter-binding8-10.mdafter the existing form-file binding contentIFormFileCollection,IFormFile,IReadOnlyList<IFormFile>, and unsupported collection types[AsParameters]and form-mapped complex types (shared form-mapping layer with Blazor)IFormFileCollectionHttpContext.Request.Form.FilesIFormFileIReadOnlyList<IFormFile>Internal previews