How to continue upload of other files if one failes to upload?

0 Answers 99 Views
Upload
Bexel Consulting
Top achievements
Rank 1
Iron
Iron
Bexel Consulting asked on 07 Aug 2024, 08:12 AM
Im trying to find a way to continue with upload of multiple files if one fails. I have a check on Save that if file names is longer then 100 chars, it will return a error. Upload will stop on that file, and will only continue when user click on X button to remove the file. I need for kendo upload to continue with the upload of other files without user having to click on X button for each file that files. 
Mihaela
Telerik team
commented on 09 Aug 2024, 02:28 PM

Hi Veljko,

I have tested the uploading of multiple files, and it appears that the files, which passed the server-side validation are uploaded successfully at my end:

  • Upload configuration
@(Html.Kendo().Upload()
            .Name("files")
            .Multiple(true)
            .Async(a => a
                .Save("Async_Save", "Home")
                .Remove("Async_Remove", "Home")
                .AutoUpload(true)
            )
        )

I am attaching a runnable ASP.NET MVC app for your reference.

If the Upload is set up for chunk upload, enable the Concurrent() option. This way, the files will start to upload simultaneously, so the uploading process will not stop in case of invalid files:

 @(Html.Kendo().Upload()
                .Name("files")
                .Async(a => a
                    ...
                    .AutoUpload(true)
                    .ChunkSize(11000)
                    .Concurrent(true)
                )
)

Looking forward to hearing back from you.

Best,

Mihaela

Bexel Consulting
Top achievements
Rank 1
Iron
Iron
commented on 13 Sep 2024, 09:13 AM

Hi, thank you for responding. We switched to using Concurrent upload, since we could not find a solution to continue upload of other files of one fails when Concurrent is false. But now there is other issue with Concurent(true). Chunk request timeout, upload does not start. It works in local debug, but it does not work on our development server. Uploading a single file work fine, but when i have more that 1 file to upload, uploading process never starts, and request timeout after like 2 minutes.

I found that there is some issue with HTTP/2 protocol, so i degraded the protocol for my app on the server to HTTP/1.1, and it worked for a while, but now its not working again even on HTTP/1.1.

In this test case, 2 of 3 upload requests timed out:

I managed to upload the files by clicking retry button for each file. 

Bexel Consulting
Top achievements
Rank 1
Iron
Iron
commented on 13 Sep 2024, 09:17 AM

When switching to concurent upload, does my controller method SaveFilesForAdd needs to be modified or it can be the same as for non concurent upload? We implemented chunking and it works fine when upload is not concurrent
Mihaela
Telerik team
commented on 17 Sep 2024, 12:15 PM

Hi Veljko,

Thank you for the update.

The concurent upload does not require any changes in the Save Action. 

Since the issue does not appear when you test locally, most probably it is caused by the environment settings of the dev server when uploading multiple files simultaneously.

It would be of great help if you managed to replicate the behavior in the sample application attached to my initial reply and send it back in the thread to investigate it further.

Best,

Mihaela

Bexel Consulting
Top achievements
Rank 1
Iron
Iron
commented on 14 Nov 2024, 11:24 AM

Hi,

I still havent resolved this issue. 

I discovered that when i upload files that are the size less than the chunk limit, they are successfuly uploaded, but when they are larger and need to be chunked, the request times out. So i disabled http2 protocol for services relevant to upload feature and restarded the development sever and it is working. I followed this support thread https://www.telerik.com/forums/problems-with-multi-file-upload-and-http-2 and i think that i have the same problem as described here. Not sure if this solution will hold. Its working at the moment. 

Have you maybe investigated this issue with http2 protocol or have any idea if something can be done at the library level? The solution i found is realy unconvinient, since we have multiple servers and disabling protocols may affect other features
Mihaela
Telerik team
commented on 19 Nov 2024, 10:36 AM

Hi Veljko,

Thank you for your update.

According to the forum thread discussion, the suggested solution is to modify the request body size limits since there is a default limit for the length of each multipart body (128 MB) in ASP.NET MVC applications. Has this solution helped you resolve the issue on your end?

Basically, this is a default limit specified by the framework, and the Upload is a UI component, which triggers the requests to the server.

Best,
Mihaela

No answers yet. Maybe you can help?

Tags
Upload
Asked by
Bexel Consulting
Top achievements
Rank 1
Iron
Iron
Share this question
or