Resume Functionality with large files

15 posts, 0 answers
  1. Kuba
    Kuba avatar
    16 posts
    Member since:
    Jan 2013

    Posted 23 Mar 2013 Link to this post

    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
  2. Petar Mladenov
    Admin
    Petar Mladenov avatar
    2891 posts

    Posted 25 Mar 2013 Link to this post

    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.

  3. DevCraft banner
  4. Kuba
    Kuba avatar
    16 posts
    Member since:
    Jan 2013

    Posted 25 Mar 2013 Link to this post

    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
  5. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 26 Mar 2013 Link to this post

    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.

  6. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 09 Apr 2013 Link to this post

    Please implement this .
    We too Need it. :)
  7. Kuba
    Kuba avatar
    16 posts
    Member since:
    Jan 2013

    Posted 09 Apr 2013 Link to this post

    TMatt,

    don't forget to vote for this feature pls:

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

    thanks
  8. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 09 Apr 2013 Link to this post

    I have vote it.
  9. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 12 Apr 2013 Link to this post

    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.

  10. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 12 Apr 2013 Link to this post

    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.
  11. Kuba
    Kuba avatar
    16 posts
    Member since:
    Jan 2013

    Posted 12 Apr 2013 Link to this post

    Thanks Tina,

    appreciate that

    all the best
    Kuba
  12. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 18 Jun 2013 Link to this post

    Any news here.

    It is an importend option for us.
  13. Tina Stancheva
    Admin
    Tina Stancheva avatar
    3298 posts

    Posted 21 Jun 2013 Link to this post

    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.

  14. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 01 Jul 2013 Link to this post

    Ok thanks for answer,


    so we will see it never and have to do your own implementation. One reson less to use the controls.
  15. Kuba
    Kuba avatar
    16 posts
    Member since:
    Jan 2013

    Posted 01 Jul 2013 Link to this post

    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
  16. TMatt
    TMatt avatar
    46 posts
    Member since:
    Feb 2011

    Posted 03 Sep 2013 Link to this post


    Can you give us a TIP ?
    We are interessted in your implementation. What do you want for it ?
Back to Top
DevCraft banner