It sounds to me that this is because of the request time out, not size limitation. Could you increase the time out setting?
Ill give it a shot, but I'm not sure if thatll work. I've tried a different file (media folder vs pages), this one gave the same error but after 4+ minutes instead of 55 seconds. Both were around 900mb/1gb.
Do you know which setting needs to be changed for the timeout?
Hmm. That's strange. Default timeout is like 110s if IIRC.
Could you upload something like 100MB and succeeded?
Ive tried a 380mb file which took 1.5min and succeeded. I then tried a 530mb file, which failed after 20sec 40sec, 2min and 4min.
Could you enable debug logs on DXP and try to import. it should show better error message. Something like "[18:24:25 DBG] Connection id "..." bad request data: "Request body too large. The max request body size is 20971520 bytes." followed by the stack trace.
You need to set the max size for kestrel as well.
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel((context, options) =>
{
// Handle requests up to 50 MB
options.Limits.MaxRequestBodySize = 52428800;
})
.UseStartup<Startup>();
});
https://learn.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view=aspnetcore-6.0
That doesnt make sense, since a file of 300mb was uploaded fine, and the default size is 30mb. I've added the setting anyway and it still fails for large files.
So far, Ive added the following settings:
Program.cs (tried both usekestrel and configurekestrel):
webBuilder.ConfigureKestrel((context, options) =>
{
options.Limits.MaxRequestBodySize = 107374182400;
})
Startups.cs:
services.Configure<FormOptions>(x => { x.MultipartBodyLengthLimit = 107374182400; });
Appsettings.json:
"EPiServer": {
"CmsUI": {
"Upload": {
"FileSizeLimit": 107374182400
}
}
}
"CmsUI": {
"Upload": {
"FileSizeLimit": 10737418240
},
Not sure it'll solve your problem, but shouldn't "Upload" be "UploadOptions" here?
Was this issue Resolved?
We are facing same issue, where we have updated appsettings, Startup to add 'MultipartBodyLengthLimit' and Kestrel (Program.cs). But nothing seems to work...Still seeing 'Timeout exceeded..' msg
We were able to resolve this issue by contacting support. They increased a certain limit in Cloudflare, which allowed us to import the files in DXP.
We simply added the CmsUI section with UploadOptions set to 10 MB instead of default 4 MB, and got it to work like this for using EPiServer.CMS 12.27.1:
"EPiServer": {
"CmsUI": {
"UploadOptions": {
"FileSizeLimit": 10485760 // 10 MB
}
}
Below are the options I use. We haven't heard any complaints about large files but the use case probably differs.
Program.cs
webBuilder.ConfigureKestrel((context, options) =>
{
options.Limits.MaxRequestBodySize = 100000000;
options.AllowSynchronousIO = true; //This defaults to false, which causes large media folders in media widget not to load.
});
Startup.cs
services.Configure<FormOptions>(x =>
{
x.MultipartBodyLengthLimit = 100000000;
})
.Configure<UploadOptions>(x =>
{
x.FileSizeLimit = 100000000;
})
We faced a similar issue with a client.
The code and configuration solutions above fix the issue to a certain extent, but you will face a limit with Cloudflare if you are uploading extremely large files. I can not remember the exact limit, but in our case, we wanted to upload a file that was ~750MB. To get this to work we needed to contact support and get them to increase the limit within Cloudflare.
We want to import multiple websites/media folders into one CMS instance, and have increased the max filesize using the appsettings:
And using:
This seems to work for our local development environment, but when trying to do the same in DXP, we still get a 'Timed out, or max file size exceeded' error after about a minute. The file were trying to upload is around 1gb.
Theres this bug: https://world.optimizely.com/support/bug-list/bug/CMS-24180. But its stated this has been fixed in 12.10.0. We are using 12.13.1.
Are there any settings we missed that make it work in DXP?