1 implementation of IFormFile
Microsoft.AspNetCore.Http (1)
FormFile.cs (1)
9public class FormFile : IFormFile
80 references to IFormFile
Microsoft.AspNetCore.Components.Endpoints (10)
FormMapping\BrowserFileFromFormFile.cs (1)
10internal sealed class BrowserFileFromFormFile(IFormFile formFile) : IBrowserFile
FormMapping\Converters\FileConverter.cs (3)
28var targetFile = reader.FormFileCollection.GetFile(reader.CurrentPrefix.ToString()); 52if (typeof(T) == typeof(IReadOnlyList<IFormFile>)) 74var file = formFileCollection.GetFile(reader.CurrentPrefix.ToString());
FormMapping\Factories\FileConverterFactory.cs (2)
22private static bool CanConvertCommon(Type type) => type == typeof(IFormFile) || type == typeof(IFormFileCollection) || type == typeof(IReadOnlyList<IFormFile>);
FormMapping\WellKnownConverters.cs (4)
47{ typeof(IFormFile), new FileConverter<IFormFile>() }, 48{ typeof(IReadOnlyList<IFormFile>), new FileConverter<IReadOnlyList<IFormFile>>() },
Microsoft.AspNetCore.Http (8)
FormFile.cs (1)
7/// Default implementation of <see cref="IFormFile"/>.
FormFileCollection.cs (7)
9public class FormFileCollection : List<IFormFile>, IFormFileCollection 12public IFormFile? this[string name] => GetFile(name); 15public IFormFile? GetFile(string name) 17foreach (var file in this) 29public IReadOnlyList<IFormFile> GetFiles(string name) 31var files = new List<IFormFile>(); 33foreach (var file in this)
Microsoft.AspNetCore.Http.Extensions (11)
RequestDelegateFactory.cs (3)
776else if (parameter.ParameterType == typeof(IFormFile)) 863else if (parameter.ParameterType == typeof(IFormFile)) 2337var valueExpression = GetValueFromProperty(FormFilesExpr, FormFilesIndexerProperty, key, typeof(IFormFile));
src\aspnetcore\src\Components\Endpoints\src\FormMapping\Converters\FileConverter.cs (2)
52if (typeof(T) == typeof(IReadOnlyList<IFormFile>)) 74var file = formFileCollection.GetFile(reader.CurrentPrefix.ToString());
src\aspnetcore\src\Components\Endpoints\src\FormMapping\Factories\FileConverterFactory.cs (2)
22private static bool CanConvertCommon(Type type) => type == typeof(IFormFile) || type == typeof(IFormFileCollection) || type == typeof(IReadOnlyList<IFormFile>);
src\aspnetcore\src\Components\Endpoints\src\FormMapping\WellKnownConverters.cs (4)
47{ typeof(IFormFile), new FileConverter<IFormFile>() }, 48{ typeof(IReadOnlyList<IFormFile>), new FileConverter<IReadOnlyList<IFormFile>>() },
Microsoft.AspNetCore.Http.Features (5)
IFormFile.cs (1)
40/// Do not use the <see cref="FileName"/> property of <see cref="IFormFile"/> other than for display and logging.
IFormFileCollection.cs (4)
9public interface IFormFileCollection : IReadOnlyList<IFormFile> 18IFormFile? this[string name] { get; } 27IFormFile? GetFile(string name); 38IReadOnlyList<IFormFile> GetFiles(string name);
Microsoft.AspNetCore.Mvc.Abstractions (1)
ModelBinding\BindingSource.cs (1)
99/// A <see cref="BindingSource"/> for <see cref="IFormFile"/>, <see cref="IFormCollection"/>, and <see cref="IFormFileCollection"/>.
Microsoft.AspNetCore.Mvc.ApiExplorer (1)
EndpointMetadataApiDescriptionProvider.cs (1)
304else if (parameterType == typeof(IFormFile) || parameterType == typeof(IFormFileCollection))
Microsoft.AspNetCore.Mvc.Core (35)
ApiBehaviorOptions.cs (1)
42/// Parameters of type <see cref="IFormFile"/> and <see cref="IFormFileCollection"/> are assumed to be bound from form.
Infrastructure\MvcCoreMvcOptionsSetup.cs (3)
117modelMetadataDetailsProviders.Add(new BindingSourceMetadataProvider(typeof(IFormFile), BindingSource.FormFile)); 120modelMetadataDetailsProviders.Add(new BindingSourceMetadataProvider(typeof(IEnumerable<IFormFile>), BindingSource.FormFile)); 131modelMetadataDetailsProviders.Add(new SuppressChildValidationMetadataProvider(typeof(IFormFile)));
ModelBinding\Binders\FormCollectionModelBinder.cs (5)
88private sealed class EmptyFormFileCollection : List<IFormFile>, IFormFileCollection 90public IFormFile? this[string name] => null; 92public IFormFile? GetFile(string name) => null; 94IReadOnlyList<IFormFile> IFormFileCollection.GetFiles(string name) => Array.Empty<IFormFile>();
ModelBinding\Binders\FormFileModelBinder.cs (21)
16/// <see cref="IModelBinder"/> implementation to bind posted files to <see cref="IFormFile"/>. 41if (!createFileCollection && !ModelBindingHelper.CanGetCompatibleCollection<IFormFile>(bindingContext)) 47ICollection<IFormFile> postedFiles; 50postedFiles = new List<IFormFile>(); 54postedFiles = ModelBindingHelper.GetCompatibleCollection<IFormFile>(bindingContext); 80if (bindingContext.ModelType == typeof(IFormFile)) 103if (modelType == typeof(IFormFile[])) 105Debug.Assert(postedFiles is List<IFormFile>); 106value = ((List<IFormFile>)postedFiles).ToArray(); 110Debug.Assert(postedFiles is List<IFormFile>); 111value = new FileCollection((List<IFormFile>)postedFiles); 138ICollection<IFormFile> postedFiles) 145foreach (var file in form.Files) 170private sealed class FileCollection : ReadOnlyCollection<IFormFile>, IFormFileCollection 172public FileCollection(List<IFormFile> list) 177public IFormFile? this[string name] => GetFile(name); 179public IFormFile? GetFile(string name) 183var file = Items[i]; 193public IReadOnlyList<IFormFile> GetFiles(string name) 195var files = new List<IFormFile>(); 198var file = Items[i];
ModelBinding\Binders\FormFileModelBinderProvider.cs (4)
13/// An <see cref="IModelBinderProvider"/> for <see cref="IFormFile"/>, collections 14/// of <see cref="IFormFile"/>, and <see cref="IFormFileCollection"/>. 25if (modelType == typeof(IFormFile) || 27typeof(IEnumerable<IFormFile>).IsAssignableFrom(modelType))
ModelBinding\FormFileValueProvider.cs (1)
47var file = formFiles[i];
Microsoft.AspNetCore.Mvc.TagHelpers (1)
InputTagHelper.cs (1)
51{ nameof(IFormFile), "file" },
Microsoft.AspNetCore.Mvc.ViewFeatures (8)
TemplateRenderer.cs (8)
20public const string IEnumerableOfIFormFileName = "IEnumerable`" + nameof(IFormFile); 67{ typeof(IFormFile).Name, DefaultEditorTemplates.FileInputTemplate }, 174if (typeof(IEnumerable<IFormFile>) != fieldType) 217if (typeof(IEnumerable<IFormFile>).IsAssignableFrom(fieldType)) 222if (typeof(IEnumerable<IFormFile>) == fieldType) 230else if (typeof(IFormFile) != fieldType && typeof(IFormFile).IsAssignableFrom(fieldType)) 232yield return nameof(IFormFile);