Telerik is a leading vendor of ASP.NET AJAX, ASP.NET MVC, Silverlight, WinForms and WPF controls and components, as well as .NET Reporting, .NET ORM , .NET CMS, Code Analysis, Mocking, Team Productivity and Automated Testing Tools. Building on its expertise in interface development and Microsoft technologies, Telerik helps customers build applications with unparalleled richness, responsiveness and interactivity. Telerik products help thousands of companies to be more productive and deliver reliable applications under budget and on time.
Version Q2 2011 released 07/12/2011
select

FileExplorer / Custom File Content Provider

Browse to an image and click to preview.
  •  Fruits
  •  Animals
  
  
  
  
  
  
  
  
  
  
  
Max file size allowed:
200.00 KB
File extensions allowed:
*.jpg, *.jpeg, *.gif, *.png
Preview

  • Database File Provider

    This example demonstrates the implementation of a custom FileBrowserContentProvider, using a SQL database as a file source. If you have installed the RadControls demo, the DBContentProvider class is available in the App_Code\Editor\ folder of the demo project or in this code library.

    Custom FileBrowserContentProvider implementation allows using virtually any type of file sources for the RadFileExplorer:

    • Database
    • Custom role-based CMS system
    • Web service
    • Applications which use URL Rewriters
    The DBFileBrowserContentProvider class inherits the abstract Telerik.Web.UI.Widgets.FileBrowserContentProvider class and implements its abstract members:
    • ResolveRootDirectoryAsTree - Called in order to load all subfolders of the passed as parameter folder
    • ResolveDirectory - Called in order to load all files of the passed as parameter folder
    • StoreFile - called to save an uploaded file to the storage
    • DeleteFile - called when user deletes a file
    • DeleteDirectory - called when user deletes a directory
    • CreateDirectory - called when user creates a directory
    • CanCreateDirectory - a readonly property, which value identifies if the New Directory icon will exist in the FileBrowser
    • GetFile - used in two cases: 1) to identify if a file with the same name exists in the same path when uploading a file; 2) when creating a thumbnail used to get the original image content
    • StoreBitmap - used to save a newly created bitmap to the storage
    • GetFileName - used to return the name of a file with given URL
    • GetPath - used to return the path of an item (file or directory) with given URL

    DBFileBrowserContentProvider uses a helper DataServer class, designed to handle the database operation functions.

    The file content is stored in the database and is served by the content-streamer Handler.ashx file.

    Note that the EnableFileOpen property has been disabled for this example, because opening the handler.ashx in a new window always forces the browser to download the image, instead of displaying it.

Source Code

C# VB.NET
Show code in new window Demo isolation steps
  • <%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" AutoEventWireup="true" Inherits="Telerik.Web.Examples.Editor.DBFileBrowserContentProvider.DefaultCS" %>

    <%@ Register TagPrefix="qsf" Namespace="Telerik.QuickStart" %>
    <%@ Register TagPrefix="qsf" TagName="Header" Src="~/Common/Header.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="HeadTag" Src="~/Common/HeadTag.ascx" %>
    <%@ Register TagPrefix="qsf" TagName="Footer" Src="~/Common/Footer.ascx" %>
    <%@ 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 runat="server">
        <qsf:HeadTag ID="Headtag1" runat="server" />

        <script type="text/javascript">
            //<![CDATA[
            function OnClientItemSelected(sender, args)
            {
                var pvwImage = $get("pvwImage");
                var imageSrc = args.get_item().get_url();

                if (imageSrc.match(/\.(gif|jpg)$/gi))
                {
                    pvwImage.src = imageSrc;
                    pvwImage.style.display = "";
                }
                else
                {
                    pvwImage.src = imageSrc;
                    pvwImage.style.display = "none";
                }
            }
            //]]>
        </script>

    </head>
    <body class="BODY">
        <form runat="server" id="mainForm" method="post">
        <qsf:Header ID="Header1" runat="server" NavigationLanguage="c#" />
        <telerik:RadScriptManager ID="RadScriptManager1" runat="Server" />
        <table cellspacing="4">
            <tr>
                <td rowspan="2" style="vertical-align: top;">
                    Browse to an image and click to preview.
                    <telerik:RadFileExplorer runat="server" ID="RadFileExplorer1" Width="500px" Height="300px"
                        OnClientItemSelected="OnClientItemSelected" EnableOpenFile="false">
                    </telerik:RadFileExplorer>
                </td>
                <td>
                    <fieldset style="width: 270px; height: 270px">
                        <legend>Preview</legend>
                        <img id="pvwImage" src="" alt="" style="display: none; margin: 10px; width: 250px;
                            height: 225px;" />
                    </fieldset>
                </td>
            </tr>
        </table>
        <qsf:Footer runat="server" ID="Footer1" />
        </form>
    </body>
    </html>

Get more than expected!

 
 

Take your time to truly experience the power of RadControls for ASP.NET AJAX with a free 60-day trial backed up by Telerik’s unlimited dedicated support.

Download your RadControls for ASP.NET AJAX trial and jumpstart your development with the available Getting Started resources.

If you have any questions, do not hesitate to contact us at sales@telerik.com.

Copyright 2002-2024 © Telerik. All right reserved
Telerik Inc, 201 Jones Rd, Waltham, MA 02451