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>