I'm getting the following error while uploading large (38 MB) file using file upload on .NET 6 application deployed on Azure using Chrome browser:
I googled and found 2 solutions. It works fine in my local environment but not working after I deployed it to Azure.
Solution 1: In Program.cs file
builder.Services.Configure<KestrelServerOptions>(options =>
{
options.Limits.MaxRequestBodySize = long.MaxValue;
});
builder.Services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = long.MaxValue;
});
Solution 2: ConfigureServices method in Startup.cs file
services.Configure<FormOptions>(options =>
{
options.MultipartBodyLengthLimit = long.MaxValue;
});
To work with large files, we need to make sure the maxAllowedContentLength and maxRequestLength is set correctly according to the request and file size in Web.config file.
maxRequestLength in <system.web>:
<system.web>
<httpRuntime maxRequestLength="1073741824"/>
</system.web>
Thanks @Thomas for the comments
maxAllowedContentLength in security section
As mentioned in the MSDoc, Add maxAllowedContentLength in the security tag.
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483648" />
</requestFiltering>
</security>
Thanks @[bhawanisingh] for clear steps.
Refer this blog for more details on how to work with large files.
I have .Net6 application and It doesn't have web.config file in the solution
When you deploy .Net Core App to Azure App Service (Windows / Linux),web.config file be generated automatically in the deployed files (with basic settings).
Windows:

Linux:

You can even add the web.config file locally in the application root directory and deploy along with other files.