Using FileUltimate in an ASP.NET MVC project

To use FileUltimate in an ASP.NET MVC Project, do the following in Visual Studio:

  1. Make sure you have added references to FileUltimate assemblies as described here.

  2. Optionally set FileUltimate's global configuration (if overriding a default value is required). For example, you may want to set the license key.

    You can specify the configuration in <appSettings> tag of your Web.config.

    XML
    <appSettings>
      <!--
        Set this property only if you have a valid license key, otherwise do not
        set it so FileUltimate runs in trial mode.
      -->
      <add key="FileUltimate:LicenseKey" value="QQJDJLJP34..." />
    </appSettings>

    As you would notice, FileUltimate: prefix maps to FileUltimateConfiguration.Current and FileUltimateWeb: prefix maps to FileUltimateWebConfiguration.Current.

    Alternatively you can specify the configuration in code, in Application_Start method of your Global.asax.cs:

    C#
    protected void Application_Start(object sender, EventArgs e)
    {
        //Set this property only if you have a valid license key, otherwise do not 
        //set it so FileUltimate runs in trial mode.  
        FileUltimateConfiguration.Current.LicenseKey = "QQJDJLJP34...";
    }
  3. Create a new View (eg. Index.cshtml) and insert these lines:

    C#
    @using GleamTech.AspNet.Mvc
    @using GleamTech.FileUltimate.AspNet.UI
    
    <!DOCTYPE html>
    @{
        var fileManager = new FileManager
        {
            Width = 800,
            Height = 600,
            Resizable = true
        };
    
        var rootFolder = new FileManagerRootFolder
        {
            Name = "A Root Folder",
            Location = "~/App_Data/RootFolder1"
        };
    
        rootFolder.AccessControls.Add(new FileManagerAccessControl
        {
            Path = @"\",
            AllowedPermissions = FileManagerPermissions.Full
        });
    
        fileManager.RootFolders.Add(rootFolder);
    }
    <html>
        <head>
            <title>File Manager</title>
            @this.RenderHead(fileManager)
        </head>
        <body>
            @this.RenderBody(fileManager)
        </body>
    </html>

    This will render a file manager component in the page which displays one root folder named "A Root Folder" which points to "~/App_Data/RootFolder1" with Full permissions.

      Tip

    Alternatively you can add the namespaces globally in Views/Web.config under <system.web.webPages.razor>/<pages>/<namespaces> tag to avoid adding namespaces in your pages every time:

    XML
    <system.web.webPages.razor>
      <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
          <add namespace="GleamTech.AspNet.Mvc" />
          <add namespace="GleamTech.FileUltimate.AspNet.UI" />
        </namespaces>
      </pages>
    </system.web.webPages.razor>

    If you need a standalone file uploader component, insert these lines instead:

    C#
    @using GleamTech.AspNet.Mvc
    @using GleamTech.FileUltimate.AspNet.UI
    
    <!DOCTYPE html>
    @{
        var fileUploader = new FileUploader
        {
            Width = 600,
            Height = 300,
            Resizable = true,
            UploadLocation = "~/App_Data/Uploads"
        };
    }
    <html>
    <head>
        <title>File Uploader</title>
        @this.RenderHead(fileUploader)
    </head>
    <body>
        @this.RenderBody(fileUploader)
    </body>
    </html>