Upload (Obsolete)

Controls

Rate this demo

Thank you for your post!

RadUpload - Telerik's ASP.NET Upload

RadUpload has been replaced by RadAsyncUpload, Telerik’s next-generation ASP.NET upload component.

If you are considering Telerik’s Upload control for new development, check out the demos of RadAsyncUpload or the control’s product page.

If you are already using RadUpload in your projects, you may be interested in reading how easy the transition to RadAsyncUpload is and how you can benefit from it in this blog post.

The official support for RadUpload will be discontinued in June 2013 (Q2’13), although it will still be available in the suite. We deeply believe that RadAsyncUpload can better serve your upload needs and we kindly ask you to transition to it to make sure you take advantage of its support and the new features we constantly add to it.

Configuration


No uploaded files yet
  • Uploaded % ( ) Total
  • Uploaded files: % () Total files:
  • Uploading file:
  • Elapsed time:  Estimated time:  Speed:

About RadUpload for ASP.NET AJAX

Telerik RadUpload for ASP.NET AJAX tightly integrates three controls and provides scalable file web-upload handling with comprehensive information about the upload progress. Its highly efficient proprietary HttpModule allocates minimum server memory and enables optimized configurable single- and multi-file uploads.

RadUpload and 70+ other controls are part of RadControls for ASP.NET AJAX, a comprehensive toolset taking care of the common functionality of your application, while leaving you with more time to work on the business logic of the app.


Get Started

  • Use Telerik’s Visual Studio Extensions (which you have installed together with the RadControls) to quickly create, upgrade and configure your RadControls projects. Save time by using the ready-to-use Visual Studio templates that cover common application scenarios.
  • Find the controls in need in your VS toolbox and use the Design-time surface and rich wizards to configure them quickly.
  • If you’d like to learn more about how to best implement the RadControls, browse the Telerik folder in your Start menu and use the shortcuts there to access the local demos, online documentation or open the sample examples app in Visual Studio.
  • If you like this particular Upload demo, you can use the following path to find it in the sample website application:
upload/examples/overview

Key Features

  • Provides the end-user with live progress monitoring as their file is being uploaded.
  • Keyboard Support.
  • Rich client-side Api.
  • Build-in validation.

Resources

C# VB
Show code in new window Demo isolation steps
<%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" AutoEventWireup="true" Inherits="Telerik.Web.Examples.Upload.CustomizingRadUploadUI.DefaultCS" %>
<%@ Register Src="~/Upload/Examples/Overview/Info.ascx" TagPrefix="qsf" TagName="Info" %>
<%@ Register src="~/Upload/Examples/ObsoleteMessage.ascx" tagname="ObsoleteMessage" tagprefix="obsoleteMessageUC" %>
<%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
    <title>ASP.NET Upload Examples | RadUpload control by Telerik</title>
    <link rel="stylesheet" type="text/css" href="styles.css"/>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
    <telerik:RadSkinManager ID="QsfSkinManager" runat="server" ShowChooser="true" />
    <telerik:RadFormDecorator ID="QsfFromDecorator" runat="server" DecoratedControls="All" EnableRoundedCorners="false" />
      <obsoleteMessageUC:ObsoleteMessage ID="ObsoleteMessage1" runat="server" />
    <qsf:ConfiguratorPanel runat="server" ID="ConfigurationPanel1" Title="Configuration">
        <div style="height: 110px;">
            <asp:Panel ID="elementSetPanel" runat="server" CssClass="qsf-ib">
                <div class="title">
                    Set of visible elements</div>
                <asp:RadioButton ID="radiobuttonNone" runat="server" Text="None" GroupName="visibilityOptions">
                </asp:RadioButton><br />
                <asp:RadioButton ID="radiobuttonDefault" runat="server" Text="Default" Checked="True"
                    GroupName="visibilityOptions"></asp:RadioButton><br />
                <asp:RadioButton ID="radiobuttonAll" runat="server" Text="All" GroupName="visibilityOptions">
                </asp:RadioButton><br />
                <asp:RadioButton ID="radiobuttonCustom" runat="server" Text="Custom" GroupName="visibilityOptions">
                </asp:RadioButton>
                <asp:Panel ID="checkboxPanel" runat="server" Style="display: none">
                    <asp:CheckBox ID="checkboxCheckBoxes" runat="server" Text="CheckBoxes"></asp:CheckBox><br />
                    <asp:CheckBox ID="checkboxRemoveButtons" runat="server" Text="Remove Buttons"></asp:CheckBox><br />
                    <asp:CheckBox ID="checkboxClearButtons" runat="server" Text="Clear Buttons"></asp:CheckBox><br />
                    <asp:CheckBox ID="checkboxAddButton" runat="server" Text="Add Button"></asp:CheckBox><br />
                    <asp:CheckBox ID="checkboxDeleteSelectedButton" runat="server" Text="Delete Button">
                    </asp:CheckBox>
                </asp:Panel>
            </asp:Panel>
            <asp:Panel ID="fileInputCountPanel" runat="server" CssClass="qsf-ib">
                <div class="title">
                    File inputs count</div>
                <label for="textboxInitialFileInputsCount_text">
                    Initial:</label>
                <telerik:RadNumericTextBox runat="server" ID="textboxInitialFileInputsCount" ShowSpinButtons="true"
                    Width="50px" MinValue="1" NumberFormat-DecimalDigits="0">
                </telerik:RadNumericTextBox>
                <br />
                <br />
                <label for="textboxMaxFileInputsCount_text">
                    Maximum:</label>
                <telerik:RadNumericTextBox runat="server" ID="textboxMaxFileInputsCount" ShowSpinButtons="true"
                    Width="50px" MinValue="1" NumberFormat-DecimalDigits="0">
                </telerik:RadNumericTextBox>
            </asp:Panel>
            <div id="buttonWrapper">
                <asp:Button ID="buttonApplyChanges" runat="server" Text="Apply Changes" OnClick="buttonApplyChanges_Click" ></asp:Button>
            </div>
        </div>
    </qsf:ConfiguratorPanel>
    <br />
    <br />
    <telerik:RadProgressManager ID="Radprogressmanager1" runat="server"></telerik:RadProgressManager>
    <table>
        <tr>
            <td>
                <telerik:RadUpload ID="RadUpload1" runat="server">
                </telerik:RadUpload>
            </td>
            <td>
                <div>
                    <asp:Label ID="labelNoResults" runat="server" Visible="True">No uploaded files yet</asp:Label>
                    <asp:Repeater ID="repeaterResults" runat="server" Visible="False">
                        <HeaderTemplate>
                            <div class="title">
                                Uploaded files in the target folder:</div>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <%#DataBinder.Eval(Container.DataItem, "FileName")%>
                            <%#DataBinder.Eval(Container.DataItem, "ContentLength").ToString() + " bytes"%>
                            <br />
                        </ItemTemplate>
                    </asp:Repeater>
                </div>
            </td>
        </tr>
    </table>
    <div class="submitArea">
        <asp:Button runat="server" ID="SubmitButton" Text="Upload files" OnClick="SubmitButton_Click">
        </asp:Button>
    </div>
    <telerik:RadProgressArea runat="server" ID="ProgressArea1">
    </telerik:RadProgressArea>
    <script type="text/javascript">
               /*<![CDATA[*/
                    function pageLoad ()
                    {
                         function enableCustomFields()
                         {
                              var panelWithCheckboxes = $get("<%=checkboxPanel.ClientID%>");
                              
                              if(!$get("<%=radiobuttonCustom.ClientID%>").checked)
                              {
                                   panelWithCheckboxes.style.display = 'none';
                              }
                              else 
                              {
                                   panelWithCheckboxes.style.display = 'block';
                              }
                         }
                         
                         var elementSetRadios = $get("<%=elementSetPanel.ClientID%>").getElementsByTagName('input');
                         
                         for (var i = 0, len = elementSetRadios.length; i < len; i++)
                         {
                              if (elementSetRadios[i].type == "radio")
                              {
                                   elementSetRadios[i].onclick = enableCustomFields;
                              }
                         }
                         
                         enableCustomFields();
                    }
                    
               /*]]>*/
    </script>
    </form>
</body>
</html>