Hello,
We are having a problem uploading multiple files on a server running HTTP/2. Single files upload fine. I used the "batch" property and that seems to work ok since it's one request. We disabled HTTP/2 and went back to HTTP/1.1. Everything seemed to work fine.
I downloaded the newest trial version it is still has the problem. Is there any way around this issue without using the "batch" property?
Thanks in advance!
11 Answers, 1 is accepted
Hello Gary,
Just to make the scenario clear. You are selecting several files for uploading, and unless you have the batch configuration set to true, the upload fails. Could you please let me know if there are any errors on the console? Also, if there are any specifics in the Upload configuration, kindly provide an example where I can test the behavior.
Looking forward to your reply.
Regards,
Martin
Progress Telerik
Hi Martin,
Yes, we are selecting multiple files for upload at one time. Yes if I put it into batch mode it works. If it uploads the files separately at least one fails. The errors that are received as a response is "Request timeout". We increased the executionTimeout, but that just allowed the file that is having a problem to fail more gracefully and move on to the next file. After the upload is complete, I can press the "retry" button the failed file and it works fine.
I have tried the "autoRetry", "concurrent" with "chunkSize" but only the batch option works since the upload is performed in one request.
Here is the super simple code that we are using to perform the upload:
$(selector).kendoUpload({
async: {
saveUrl: '/' + window.location.pathname.split('/')[1] + '/FileUpload.ashx',
autoUpload: true
},
localization: {
select: base64Obj.decode(localizedStrings.selectBtn),
uploadSelectedFiles: base64Obj.decode(localizedStrings.uploadSelectedFiles),
dropFilesHere: base64Obj.decode(localizedStrings.dropFilesHere),
statusUploading: base64Obj.decode(localizedStrings.statusUploading),
statusUploaded: base64Obj.decode(localizedStrings.statusUploaded),
statusFailed: base64Obj.decode(localizedStrings.statusFailed)
},
//showFileList: true,
multiple: true,
select: onSelectFiles,
upload: onUploadFiles,
success: onSuccessFiles,
complete: onCompleteFiles
});
Please let me know if you need anymore information.
Thanks!
Gary
Hello Gary,
Thank you for the additional explanation.
Attached you will find a small project along with a video how it behaves on my side. You can see that I am able to select and upload multiple files successfully. Could you modify the project to reproduce the issue, or tell me if I am missing something?
Looking forward to your reply.
Regards,
Martin
Progress Telerik
Hi Martin,
We are using .Net Web Forms (not MVC) with an HTTP handler as the upload handler. Maybe in has to do with that?
Gary
Hi Gary,
The multiple property will only allow the user to select multiple files. For uploading them in bulk you will need to enable the batch for it.
Kind regards,
Attila Antal
Progress Telerik
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.
Hi Attila,
Sorry I think you misunderstood the actual problem. Multiple does not work, batch does work on HTTP/2. Martin from Telerik is helping me solve the problem.
Gary
Hi Gary,
Does the file upload always fail with one and the same file? Or the file on which the upload process fails is a random one? If the file is the same, could the issue be related to its type or its size? Or maybe it could be a file-related issue?
Can you send us a runnable example in which the reported behavior can be replicated? Also, can you provide the files with which you reproduce it? If you don't want to publicly share your files, you can submit a support ticket and we will check your example in it.
Regards,
Petar
Progress Telerik
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.
We have a similar issue. Switching back to HTTP/1.1 works always fine. Using HTTP/2 uploads are sometimes 'paused' for a long time. It's almost impossible to reproduce. It just happens sometimes.
The bigger the file (eg. 500MB+), the more likely it will go wrong.
Hello Martin,
I tested the behavior in the project from 17th August and I was unable to upload large files ( 100mb + ). I managed to resolve the problem using the steps from this GitHub issue.
Let me know how that works for you.
Regards,
Martin
Progress Telerik
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.
Hi Martin,
The web.config settings are fine. The maxRequestLength and maxAllowedContentLength allow 2GB.
The strange thing is that it sometimes works like a charm and sometimes it doesn't.
The only error we get is a HTTP2 protocol error in the browser. Rebooting the webserver (windows 2019 + iis) seems to work at lease for a short time. Once the error occurs, it occurs of different computers, different browsers. The only way to solve this error for a short period of time is to reboot or to switch back to HTTP/1.1.
The application is a ASP.net 4.8 application.
We spend a lot of time in trying to create a sample application or to reproduce the issue on command, but no luck so far.
Regards,
Martin
Hello Martin,
The link I shared doesn't involve changes only in the web.config, but also in Startup.cs. Please refer to step 2 from the GitHub issue.
After following those steps, uploading of large file is consistent and working as expected. Having that said, without being able to test the behavior you are experiencing, it will be hard for me to suggest a solution. If you manage to reproduce it in a project, I will be happy to debug it.
Regards,
Martin
Progress Telerik
Virtual Classroom, the free self-paced technical training that gets you up to speed with Telerik and Kendo UI products quickly just got a fresh new look + new and improved content including a brand new Blazor course! Check it out at https://learn.telerik.com/.