| File: FormMapping\BrowserFileFromFormFile.cs | Web Access |
| Project: src\aspnetcore\src\Components\Endpoints\src\Microsoft.AspNetCore.Components.Endpoints.csproj (Microsoft.AspNetCore.Components.Endpoints) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Globalization; using Microsoft.AspNetCore.Components.Forms; using Microsoft.AspNetCore.Http; namespace Microsoft.AspNetCore.Components.Endpoints.FormMapping; internal sealed class BrowserFileFromFormFile(IFormFile formFile) : IBrowserFile { public string Name => formFile.FileName; public DateTimeOffset LastModified => DateTimeOffset.Parse(formFile.Headers.LastModified.ToString(), CultureInfo.InvariantCulture); public long Size => formFile.Length; public string ContentType => formFile.ContentType; public Stream OpenReadStream(long maxAllowedSize = 512000, CancellationToken cancellationToken = default) { if (Size > maxAllowedSize) { throw new IOException($"Supplied file with size {Size} bytes exceeds the maximum of {maxAllowedSize} bytes."); } return formFile.OpenReadStream(); } }