This is a migrated thread and some comments may be shown as answers.

Resume Functionality with large files

18 Answers 155 Views
Upload
This is a migrated thread and some comments may be shown as answers.
Kuba
Top achievements
Rank 1
Kuba asked on 23 Mar 2013, 09:46 PM
Hello Telerik Team,

im using RadUpload to upload really large files 2GB+. Absolutly key feature for me is to provide resume functionality when something wrong will happen during upload,

if user has quite not stable connection (for ex. low wi-fi range) i have to provide resume upload functionality when FileUploadFailed event occur.

Now im doing this by handling FileUploadFailed event like this:

private void RadUpload_FileUploadFailed(object sender, FileUploadFailedEventArgs e)
        {
            e.Handled = true;
 
            if (retriesCount < 10)
                RadUpload.ResumeUpload();
             
        }

with this method RadUpload trying to resume upload 10 times, and if connection is back again radupload continues to upload file,

but this approach has 2 major issues:

1. in final uploaded file some data chunks are lost (how many chunks? it depends how many times connection was broken and upload was resumed)
2. i can't delete error message info attached to resumed file (exclamation icon is still visible even after file was uploaded by resuming radupload)

how can i provide resume functionality to upload large files, i don't want to force user to upload large file again where his connection was broken for short time period after that he uploaded bigger part of his large file,

resume functionality for RadUpload is keyfull for me,

is there any method which i can  control how many chunks was uploaded to server and send them again when resuming
is there any method to remove excalamation mark when i will resume upload after Failed event,

please tell me when RadUpload.CurrentSession.UploadedBytes property is updated?
When is sent to server, or when server commits that chunk was received? im affraid in RadUpload this first scenario is true,

if this is true, than developer has to able to control this property by him selfs,

i hope resuming with RadUpload is possible (should be!!)

thanks
Kuba

18 Answers, 1 is accepted

Sort by
0
Petar Mladenov
Telerik team
answered on 25 Mar 2013, 12:41 PM
Hi Kuba,

 The ResumeUpload() method is designed to work when a PauseUpload() method is previously invoked.
Failing an upload and then real resuming is not supported. We highly encourage you to start a new programmatic upload of the same file when the upload is failed. You have to clear the Current session, add the failed file again and start uploading it.
As for the ErrorMessage , you can try setting it to null:

private void RadUpload1_FileUploadFailed(object sender, Telerik.Windows.Controls.FileUploadFailedEventArgs e)
        {
            e.ErrorMessage = null;
However, this might not be necessary if you start a new uploading session.
We hope this will help you proceed further.

Kind regards,
Petar Mladenov
the Telerik team

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

0
Kuba
Top achievements
Rank 1
answered on 25 Mar 2013, 07:13 PM
Petar,

thank you for your assistance,

first of all, i realy admire quality of Telerik Products and its pleasure for me, to use them in my development,
however in this case i can't agree with you,

if you designing control ability to upload large files, you have to care about resume functionality,
i can't understand why this functionality is so hard to implement? RadUpload has ALL abilities to achive resume functionality,
1.sending files chunk by chunk
2. validating events

so, only what you have to do, to modify code to validate is chunk is received by server or not, if transmision will fails, then this chunk should be send again when user click RESUME or by programmaticaly calling Resume method,

this scenario is now almost possible, there is only one problem, after resuming RadUpload sends next chunk without last chunk validation,

im wondering it doesn't require many code changes in RadUpload

Petar, please imagine situation when you are sending 4GB movie to YOUTUBE, and when you sent 3.8GB your mobile connection was broken for short while, and what? in youtube transfer will be automatically resumed, but in RadUpload case i have to close all upload sesion and user have to spend next  2 hours to try upload all files again? this is i little bit radicoulous,

currently im migrating my multimedia system to Telerik DevCraft and RadUpload is really good control to use it. Currently im using my custom transfer protocol with full resuming functionality, but i im strongly commited to use RadUpload because has many interesting functionalities  (UI, multimple files upload, drag'n'drop),

please concider once more to add resume functionality to RadUpload TODO list, im sure it doesn't cost much time to implement,
i can wait 2-3 weeks, but in my final version is really needed.

Another way, is to workaround this problem by overiding some RadUpload functions, just give some advice/some clue and i will do it with pleasure without disturbing you any more ;)

thank you
Kuba
0
Tina Stancheva
Telerik team
answered on 26 Mar 2013, 05:17 PM
Hi Kuba,

Thank you for your valuable feedback. We appreciate it and we can definitely see the point you made. Unfortunately the current state of the RadUpload doesn't allow you to resume the upload session after it fails and we are not aware of any workarounds that can meet your requirements.

And even though your point is absolutely sensible, we haven't received any similar requests for this behavior before and therefore we haven't considered it until now. This is why we decided to log your comments as a feature request for the RadUpload control. However, at this time I'm not sure when we will be able to address this task as our to-do list for the next release is already prepared and quite full.

Therefore I'd advice you to track the task in PITS and vote for it as this can raise its priority.

Regards,
Tina Stancheva
the Telerik team

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

0
TMatt
Top achievements
Rank 2
answered on 09 Apr 2013, 11:47 AM
Please implement this .
We too Need it. :)
0
Kuba
Top achievements
Rank 1
answered on 09 Apr 2013, 02:06 PM
TMatt,

don't forget to vote for this feature pls:

http://www.telerik.com/support/pits.aspx#/public/silverlight/146381

thanks
0
TMatt
Top achievements
Rank 2
answered on 09 Apr 2013, 02:07 PM
I have vote it.
0
Tina Stancheva
Telerik team
answered on 12 Apr 2013, 08:18 AM
Hi guys,

Thank you for this feedback and for voting for the feature. We'll definitely have your requests in mind while planning our next release tasks.

All the best,
Tina Stancheva
the Telerik team

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

0
TMatt
Top achievements
Rank 2
answered on 12 Apr 2013, 08:34 AM
Thanks,

when you think about New functions i have a new idea.


Dynamic chuncksize detection. It can help to get better feeling on slow networks to choose small chunks.
but on highspeed networks its better to get big chunks.
0
Kuba
Top achievements
Rank 1
answered on 12 Apr 2013, 09:53 PM
Thanks Tina,

appreciate that

all the best
Kuba
0
TMatt
Top achievements
Rank 2
answered on 18 Jun 2013, 09:16 AM
Any news here.

It is an importend option for us.
0
Tina Stancheva
Telerik team
answered on 21 Jun 2013, 11:42 AM
Hi Tobias,

Unfortunately this task isn't scheduled yet as we have many demanded requests for all our controls. But I can assure you that we're tracking its popularity and we understand that it is an important feature for you.

Please follow the PITS item as this will allow you to track any changes in the progress of the task.

Regards,
Tina Stancheva
Telerik

Explore the entire Telerik portfolio by downloading Telerik DevCraft Ultimate.

0
TMatt
Top achievements
Rank 2
answered on 01 Jul 2013, 06:22 AM
Ok thanks for answer,


so we will see it never and have to do your own implementation. One reson less to use the controls.
0
Kuba
Top achievements
Rank 1
answered on 01 Jul 2013, 11:20 AM
TMatt,

you can consider to use all frontend (UI) from Telerik Upload, and implement only your transfer protocol,

during waiting for resume feature we implemented aproach where we are using all UI from Upload Control (including opening rad upload file streams) but transfer is made via our custom protocol,

it wasn't much work to do, it took about 2 business days to make custom resume functionality,

cheers
0
TMatt
Top achievements
Rank 2
answered on 03 Sep 2013, 08:27 AM

Can you give us a TIP ?
We are interessted in your implementation. What do you want for it ?
0
Karthi
Top achievements
Rank 1
answered on 13 Jan 2017, 05:43 AM

telerik is best tool for reduce bundle of coding , i whould like to thanks to telerik team,

i have a one problem in video file uploading?

if network fails i dont want to restart it uploding from stating position(it waste of time),

need to restart where the network fails...

eg: if fails in uploading when 30% complete, then after some time time interval restart it from 30%

 

if it is possible? please help for this problem

0
Martin Ivanov
Telerik team
answered on 17 Jan 2017, 01:03 PM
Hi Karthi,

This is not supported out of the box. However, there is a feature request logged in the feedback portal which you can check.

Regards,
Martin
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
0
Arun
Top achievements
Rank 1
answered on 09 Mar 2017, 11:52 PM
Can we resume on multiple files It is for upload and download
0
Martin Ivanov
Telerik team
answered on 14 Mar 2017, 01:54 PM
Hello Arun,

I am not sure what you mean. Can you clarify what you mean by "it is for upload and download"? Note that the RadUpload control is used only to upload files. As for pause/resume multiple file uploads, I guess you mean that you want to pause/resume each file upload independently from the whole upload process. If so, I am afraid that this is not supported by the RadUpload control.

Regards,
Martin
Telerik by Progress
Try our brand new, jQuery-free Angular 2 components built from ground-up which deliver the business app essential building blocks - a grid component, data visualization (charts) and form elements.
Tags
Upload
Asked by
Kuba
Top achievements
Rank 1
Answers by
Petar Mladenov
Telerik team
Kuba
Top achievements
Rank 1
Tina Stancheva
Telerik team
TMatt
Top achievements
Rank 2
Karthi
Top achievements
Rank 1
Martin Ivanov
Telerik team
Arun
Top achievements
Rank 1
Share this question
or