I found and modified code to create an Ektron Library File Upload function.
This function allows some customization:
- Defined Folder ID
- In this code I manually set the folder ID but effectively
you could have a drop down list of folders to select the folder
(see DMS Widget)
- In this code I manually set the folder ID but effectively
- Content Title
- This is used in the Ektron Library as the title of the
file
- This is used in the Ektron Library as the title of the
- File Name
- This is used in the Ektron Library as the filename and part
of the filepath
- This is used in the Ektron Library as the filename and part
- File Upload Control
-
- This is used in the event that you want to have more than
one upload control
- This is used in the event that you want to have more than
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LibraryUpload.aspx.cs" Inherits="LibraryUpload" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Library Upload</title> </head> <body> <form id="form1" runat="server"> <h1>New Division</h1> <asp:ValidationSummary runat="server" ID="vasFileUpload" ValidationGroup="FileUpload" ForeColor="#81060C" /> <asp:Label ID="lblDivisionID" runat="server" Text="Division ID:" AssociatedControlID="txtDivisionID" /><br /> <asp:TextBox ID="txtDivisionID" runat="server" /> <asp:RequiredFieldValidator ID="rfvDivisionID" runat="server" ControlToValidate="txtDivisionID" Display="None" ErrorMessage="The Division ID field is required, please complete the information." ValidationGroup="FileUpload" /><br /> <asp:Label ID="lblFile" runat="server" Text="File:" AssociatedControlID="fupFile" /><br /> <asp:FileUpload ID="fupFile" runat="server" /> <br /> <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClick="btnUpload_Click" ValidationGroup="FileUpload" CausesValidation="true" /> <p><asp:Literal ID="ltlMessage" runat="server" /></p> </form> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.IO; using Ektron.Cms; using Ektron.Cms.API; using Ektron.Cms.Common; using Ektron.Cms.Content; using Ektron.Cms.Framework.Content; using Ektron.Cms.Framework.Organization; using Ektron.Cms.Framework; using Ektron.Cms.Organization; public partial class LibraryUpload : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void btnUpload_Click(object sender, EventArgs e) { //Library Upload Upload EktronLibraryUpload(167, txtDivisionID.Text, txtDivisionID.Text + ".pdf", fupFile); } protected void EktronLibraryUpload(long lFolderID, string sContentTitle, string sFileName, FileUpload fupFile) { // initialize framework. Ektron.Cms.API.Library eLibraryAPI = new Ektron.Cms.API.Library(); LibraryManager eLibraryMgr = new LibraryManager(); // determine if the item already exists. // Ektron.Cms.Content.LibraryCriteria eLibraryCriteria = new Ektron.Cms.Content.LibraryCriteria(); #region Upload the file to Ektron Ektron.Cms.LibraryConfigData eLibraryConfigData = eLibraryAPI.GetLibrarySettings(lFolderID); // Set filename server path string sFileServerPath = Server.MapPath(eLibraryConfigData.FileDirectory); // Set filename to original file name (whatever the user has named the file) if a custom file name is not specified if (sFileName == "") { sFileName = Path.GetFileName(fupFile.FileName); } try { Ektron.Cms.LibraryData item = new Ektron.Cms.LibraryData() { Title = sContentTitle, ParentId = lFolderID, FileName = sFileServerPath + sFileName, File = fupFile.FileBytes }; if (fupFile.PostedFile.ContentType == "application/pdf") { eLibraryMgr.Add(item); ltlMessage.Text = "Library item added with ID = " + item.Id.ToString(); } else { ltlMessage.Text = "Not added. File must be a PDF."; } } catch (Exception ex) { ltlMessage.Text = "Not added, " + ex.Message; } #endregion Upload the file to Ektron } }
References:
Last Updated on October 26, 2015