The controls in the Telerik RadUpload suite use and extend the existing API of the browsers and the .NET framework. However, due to some known restrictions, our controls are unable to provide the below stated functionality in certain conditions:
- RadUpload cannot upload files using AJAX calls. This is a limitation of the XmlHttpRequest component, used in the AJAX frameworks for asynchronous calls to the application. In order to upload a file you should perform a full page postback. We provide several workarounds which can be used to disable AJAX for certain button in most of the scenarios.
- RadMemoryOptimization is not compatible with the ASP.NET application trace. If you enable the application trace the server will receive only the first 30-50kB of the selected files and then the upload will hang.
- RadMemoryOptimization is still not compatible with IIS7 and will be disabled if you develop using Windows Vista. RadProgressArea will not be operational in this environment as well.
- RadUpload is unable to check the size and the mime-type of the selected files before upload because of a security restriction of the JavaScript engine in the popular browsers. You cannot access the client file system with JavaScript, hence the inability to get the file size, mime type or content.
- RadUpload is unable to select multiple files in one file select box. This is a limitation of the standard <input type=file> elements which are used for file selection in RadUpload. Currently, we have no plans for improving this functionality.
- RadUpload is unable to have initially selected files or to persist the selected files across postbacks. This is a security limitation of the standard <input type=file> elements which are used for file selection in RadUpload.
- RadUpload is unable to set the width of the file select boxes in Mozilla/Firefox due to a browser bug, which prevents the <input type=file> elements from applying the style which modifies their width. More information is available in Modifying File Input Appearance.
- RadMemoryOptimization requires ReflectionPermission in order to operate correctly. This means that in normal circumstances you will have to run your application with Full Trust permission set, unless you create custom security policy, which allows ReflectionPermission. If you are unable to set Full Trust or custom security policy, the solution is to put the RadUpload assembly in GAC.