How to Increase upload file size in ASP.NET Core
By Tan Lee Published on Jun 10, 2024 1.08K
You'll need to configure the maximum request size in your Startup.cs
file. This can be done in the ConfigureServices
method using the Configure<FormOptions>
method:
public void ConfigureServices(IServiceCollection services) { services.Configure<FormOptions>(options => { options.MultipartBodyLengthLimit = int.MaxValue; // Default value is 128 MB if you don't set // options.MultipartBodyLengthLimit = 52428800; // Limit file size to 50MB }); }
Adjust the value of MultipartBodyLengthLimit
to the desired maximum file size in bytes.
For application running on IIS
services.Configure<IISServerOptions>(options => { options.MaxRequestBodySize = 52428800; // Limit file size to 50MB });
For application running on Kestrel:
services.Configure<KestrelServerOptions>(options => { options.Limits.MaxRequestBodySize = int.MaxValue; // Default value is 30 MB if don't set });
Adding all of the above options will solve problems related to uploading large files.
If you're hosting your ASP.NET Core application on IIS, you may also need to adjust the request limits in the web.config
file:
<configuration> <system.webServer> <security> <requestFiltering> <!-- The maximum allowed content length for uploads, in bytes --> <requestLimits maxAllowedContentLength="52428800" /> <!-- Limit file size to 50MB --> </requestFiltering> </security> </system.webServer> </configuration>
If you want handle request up to 1GB
<system.webServer> <security> <requestFiltering> <!-- Handle requests up to 1 GB --> <requestLimits maxAllowedContentLength="1073741824" /> </requestFiltering> </security> </system.webServer>
Ensure that you're not setting the limit too high, as it could pose security risks like denial-of-service attacks.
- Implement security headers for an ASP.NET Core
- How to add security headers to an ASP.NET Core Application
- How to Initialize TagHelpers in ASP.NET Core with Shared Data
- Boost Your ASP.NET Core Website Performance with .NET Profiler
- The name 'Session' does not exist in the current context
- Implementing Two-Factor Authentication with Google Authenticator in ASP.NET Core
- How to securely reverse-proxy ASP.NET Core
- How to Retrieve Client IP in ASP.NET Core Behind a Reverse Proxy