The CloudUpload's Progressbar is not initially shown when uploading files in MS Edge v. 40.15063 (Creator's Edition)
The ProgressBar actually indicates the upload process from the client to the server but does not reflect the upload process from the server to the cloud service.
The RadCloudUpload control does not expose the necessary property when the OnClientFileUploadRemoving event fires (using Azure). To delete a file from Azure BLOB storage you need the keyname property. At the time of the OnClientFileUploadRemoving event, the only property exposed is the orignalFileName. Azure creates a keyname to store the file. It consists of a GUID + the original file name, e.g., for a file named "test.txt" the keyname is "554cfa68-ee24-421f-94e8-7080cf70a11f_test.txt." That's to allow for duplicate original file names in the container. The only way to delete a file from Azure storage is by the keyname property. That property is not exposed at the OnClientFileUploadRemoving event, so to be able to delete the file, you have to save that property in some other way at the time of uploading (in an array or database). That could fail. Obviously the control knows the keyname, as it is exposed when the file is uploaded, so it should store and expose that property.
The RadCloudUpload doesn't handle correctly situation, when the communication between client and server becomes disconnected - the client side doesn't get notified (the upload keeps spinning). All the details and steps to reproduced are in the following thread: http://www.telerik.com/account/support-tickets/view-ticket.aspx?threadid=951973 Thanks, Vlad.
There is a problem with uploading file which name contains greek, hebrew or russian letters. It is also replicated with other languages that contain non-latin letters, such as Japanese or Korean. Here are the steps to reproduce the problem. 1. Create text file "Καλώς ήλθατε.txt" and save it on local disc (file may contain any text). 2. Open http://demos.telerik.com/aspnet-ajax/cloud-upload/examples/overview/defaultcs.aspx 3. Click Select button and browse file "Καλώς ήλθατε.txt" 4. Message "Uploading Files 1/1" is displayed but file is not uploaded. 1. Create file Благодатное-небо-с-предстоящими.txt on local disc (file may contain any text). 2. Open http://demos.telerik.com/aspnet-ajax/cloud-upload/examples/overview/defaultcs.aspx 3. Click Select button and browse file Καλώς ήλθατε.txt 4. Message "Uploading Files 1/1" is displayed but file is not uploaded. Here is the error from the console when trying to upload such a file: Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_QsfScriptManager_TSM&compress=1&_TSM_Combine…:6 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_Combine…:6) at Function.Error.argument (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_QsfScriptManager_TSM&compress=1&_TSM_Combine…:6) at Function.Sys.Serialization.JavaScriptSerializer.deserialize (Telerik.Web.UI.WebResource.axd?_TSM_HiddenField_=ctl00_QsfScriptManager_TSM&compress=1&_TSM_Combine…:6) at c.RadCloudUpload.HandlerUploader._successfulResponseStatus (RadCloudUploadScripts.js:477) at XMLHttpRequest.p (RadCloudUploadScripts.js:463)
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>
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