Unplanned
Last Updated: 27 Apr 2021 17:32 by Matthew
Created by: Andy
Comments: 1
Category: CloudUpload
Type: Feature Request
5

Add the ability to upload whole folders to the RadCloudUpload, similar to the FR for AsyncUpload:

Unplanned
Last Updated: 14 Jun 2021 10:40 by ADMIN
Created by: Massimiliano
Comments: 0
Category: CloudUpload
Type: Feature Request
4
Allow direct upload to Youtube with Cloud Upload or Async Upload
Unplanned
Last Updated: 14 Jun 2021 10:30 by ADMIN
Created by: Matthew
Comments: 2
Category: CloudUpload
Type: Feature Request
4
Follow Amazon's migration guide to update the RadCloudUpload to support version 3.x of Amazon's SDK -- it has been out for quite some time.  You cannot have both v2 and v3 referenced in the same project, and Telerik forcing us to use v2 is holding back development with other items in v3.
http://docs.aws.amazon.com/AWSSdkDocsNET/V3/DeveloperGuide/net-dg-migration-guide-v3.html
Unplanned
Last Updated: 07 Apr 2020 13:26 by ADMIN
Created by: Charles
Comments: 0
Category: CloudUpload
Type: Feature Request
4
Unplanned
Last Updated: 14 Jun 2021 10:25 by ADMIN
Created by: rinu
Comments: 1
Category: CloudUpload
Type: Feature Request
3
The existing RadCloudUpload uses Azure SDK to transfer the files across to the blob. This will lead to an upload handler then upload the files to the server. The problem with this is that to upload a large file it till take a long. Is there any chance to add functionality to send files from client side? The azure now support CORS support which enables us to upload the files faster with no intervention from the server. This will be a knockout.

 Is there any chance to avoid these handlers and sent it directly to the server. The handler i think is making the uploader extremely slow as compared to the direct uploads from clients like "Azure Storage Explorer 6". Now there is cors support for Azure.
It will be nice to see a tool which does direct upload like. flajaxian http://www.flajaxian.com/flajaxian.com/DirectAmazonUploader1.0Help.html.

Best Regards
Rinu
Unplanned
Last Updated: 09 Jan 2020 09:05 by ADMIN

Add a functionality, which allows developers to pass query string parameters from client to the custom handler. Similar to RadAsyncUpload.

Workaround:

<telerik:RadCloudUpload ID="RadCloudUpload1" runat="server" ProviderType="Azure"
            MultipleFileSelection="Automatic" OnClientFileSelected="onClientFileSelected"
            HttpHandlerUrl="~/Handlers/UploadToMultipleFoldersHandler.ashx">
</telerik:RadCloudUpload>

<script>
    function onClientFileSelected(sender, args) {
        var customParam = "test";
        sender._module._handlerUrl = "/Handlers/UploadToMultipleFoldersHandler.ashx?type=rcu&customParam=" + customParam;
    }
</script>

<%@ WebHandler Language="C#" Class="UploadToMultipleFoldersHandler" %>
  
using System;
using System.Web;
  
public class UploadToMultipleFoldersHandler : Telerik.Web.UI.CloudUploadHandler {
  
    public override void SetKeyName(object sender, Telerik.Web.UI.CloudUpload.SetKeyNameEventArgs e)
    {
        var param = HttpContext.Current.Request["customParam"];
               
        var carsFolder = HttpContext.Current.User.Identity.Name + "/";
        e.KeyName = string.Format("{0}{1}_{2}", carsFolder, Guid.NewGuid(), e.OriginalFileName);
    }  
}

Unplanned
Last Updated: 12 May 2023 11:17 by ADMIN
Unplanned
Last Updated: 13 Aug 2024 13:59 by ADMIN
Created by: akshay
Comments: 2
Category: CloudUpload
Type: Feature Request
1

We would like to request updating the Azure library for uploading files to Azure Blob Storage.

The WindowsAzure.Storage library has been deprecated and is no longer maintained.

Unplanned
Last Updated: 28 May 2021 17:30 by ADMIN
Ability to add Folder attribute to cloud upload control which gets appended to the SubFolderStructure in the provider. Without it all files go into the same SubFolderStructure folder, not great when thousands of files. Helps to keep the files more organised.
Unplanned
Last Updated: 21 Feb 2018 11:05 by ADMIN
When uploading a file to the CloudUpload control with an ’ apostrophe symbol in the name (Examples of the 3C’s.pdf), the control fails with 

Uncaught Error: Sys.ArgumentException: Cannot deserialize. The data does not correspond to valid JSON.
Parameter name: data
    at Function.Error.create (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_QsfScriptManager_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3ad28568d3-e53e-4706-928f-3765912b66ca%3aea597d4b%3ab25378d2:6)
    at Function.Error.argument (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_QsfScriptManager_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3ad28568d3-e53e-4706-928f-3765912b66ca%3aea597d4b%3ab25378d2:6)
    at Function.Sys.Serialization.JavaScriptSerializer.deserialize (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_QsfScriptManager_TSM&compress=1&_TSM_CombinedScripts_=%3b%3bSystem.Web.Extensions%2c+Version%3d4.0.0.0%2c+Culture%3dneutral%2c+PublicKeyToken%3d31bf3856ad364e35%3aen-US%3ad28568d3-e53e-4706-928f-3765912b66ca%3aea597d4b%3ab25378d2:6)
    at c.RadCloudUpload.HandlerUploader._successfulResponseStatus (RadCloudUploadScripts.js:477)
    at XMLHttpRequest.p (RadCloudUploadScripts.js:463)

Note, it's not the typical apostrophe. If you replace ’ with a normal ' windows apostrophe, the control uploads the file just fine.

In order to test, create any file on your system using that special character and try to upload that file using the demo application, located:

https://demos.telerik.com/aspnet-ajax/cloud-upload/examples/overview/defaultcs.aspx
Unplanned
Last Updated: 07 Nov 2018 15:31 by ADMIN
ADMIN
Created by: Dimitar
Comments: 0
Category: CloudUpload
Type: Bug Report
0
Affects RadCloudUpload and RadAsyncUpload combined with RadProgressArea. Manifests most often on slow networks or very large files.
Scroll down for workarounds for both cases.

WORKAROUND FOR PROGRESS AREA is to round down the data, as it seems the server reports more bytes uploaded than they actually are, and that tends to happen under slow network conditions

<telerik:RadAsyncUpload RenderMode="Lightweight" runat="server" ID="RadAsyncUpload1" MultipleFileSelection="Automatic" EnableInlineProgress="false" />
<telerik:RadProgressManager runat="server" ID="RadProgressManager1" />
<telerik:RadProgressArea RenderMode="Lightweight" runat="server" ID="RadProgressArea1" OnClientProgressUpdating="OnClientProgressUpdating" />
<script>
function OnClientProgressUpdating(sender, args) {
    //debugger
    if (args._progressData.PrimaryPercent > 100) {
        args._progressData.PrimaryPercent = 100;
    }
    if (args._progressData.PrimaryValue > args._progressData.PrimaryTotal) {
        args._progressData.PrimaryValue = args._progressData.PrimaryTotal;
    }
    console.log(args.get_progressData());
}
</script>

WORKAROUND FOR CLOUD UPLOAD is to add the following script at the end of the form that will override the built-in XHR handilng to change the way the totals are calculated:

        <script>
            Telerik.Web.UI.RadCloudUpload.HandlerUploader.prototype._initializeXmlHttpRequest = function () {
                this._xhr = new XMLHttpRequest();

                var that = this,
                    module = this._module,
                    xhr = this._xhr;

                xhr.onreadystatechange = function readyStateChanged() {
                    if (xhr.readyState == 4) {
                        if (xhr.status == 200) {
                            that._successfulResponseStatus(xhr);
                        }
                        else if (xhr.status != 0) {
                            that._failedResponseStatus(xhr);
                        }
                    }
                };

                xhr.upload.onprogress = function (event) {
                    that._uploadedSize += event.loaded;

                    var percents = Math.round((event.loaded / event.total) * 100) + "%";

                    module._renderingManager.updateRowProgress(that._uploadingEntity.row, percents, true);
                };
            }
        </script>