Is this really the version you are looking for? Kentico 9 documentation is no longer updated. Use the switch in the header to choose your Kentico version.

Media libraries

List of examples:

Media libraries

Creating a media library

// Creates a new media library object
MediaLibraryInfo newLibrary = new MediaLibraryInfo();

// Sets the library properties
newLibrary.LibraryDisplayName = "New library";
newLibrary.LibraryName = "NewLibrary";
newLibrary.LibraryDescription = "This media library was created through the API.";
newLibrary.LibraryFolder = "NewLibrary";
newLibrary.LibrarySiteID = SiteContext.CurrentSiteID;

// Saves the new media library to the database
MediaLibraryInfoProvider.SetMediaLibraryInfo(newLibrary);

> Back to list of examples

Updating a media library

// Gets the media library
MediaLibraryInfo updateLibrary = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (updateLibrary != null)
{
	// Updates the library properties
	updateLibrary.LibraryDisplayName = updateLibrary.LibraryDisplayName.ToLower();

	// Saves the updated media library to the database
	MediaLibraryInfoProvider.SetMediaLibraryInfo(updateLibrary);
}

> Back to list of examples

Updating multiple media libraries

// Gets all media libraries on the current site whose code name starts with 'New'
var libraries = MediaLibraryInfoProvider.GetMediaLibraries()
											.WhereEquals("LibrarySiteID", SiteContext.CurrentSiteID)
											.WhereStartsWith("LibraryName", "New");


// Loops through individual media libraries
foreach (MediaLibraryInfo library in libraries)
{
	// Updates the library properties
	library.LibraryDisplayName = library.LibraryDisplayName.ToUpper();

	// Saves the updated media library to the database
	MediaLibraryInfoProvider.SetMediaLibraryInfo(library);
}

> Back to list of examples

Deleting a media library

// Gets the media library
MediaLibraryInfo deleteLibrary = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (deleteLibrary != null)
{
	// Deletes the media library
	MediaLibraryInfoProvider.DeleteMediaLibraryInfo(deleteLibrary);
}

> Back to list of examples

Media folders and files

Creating a media library folder

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Creates the "NewFolder" folder within the media library
	MediaLibraryInfoProvider.CreateMediaLibraryFolder(SiteContext.CurrentSiteName, library.LibraryID, "NewFolder");
}

> Back to list of examples

Creating a media library file

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Prepares a path to a local file
	string filePath = @"C:\Files\images\Image.png";

	// Prepares a CMS.IO.FileInfo object representing the local file
	CMS.IO.FileInfo file = CMS.IO.FileInfo.New(filePath);
	
	if (file != null)
	{
		// Creates a new media library file object
		MediaFileInfo mediaFile = new MediaFileInfo(filePath, library.LibraryID);  

		// Sets the media library file properties
		mediaFile.FileName = "Image";
		mediaFile.FileTitle = "File title";
		mediaFile.FileDescription = "This file was added through the API.";
		mediaFile.FilePath = "NewFolder/Image/"; // Sets the path within the media library's folder structure
		mediaFile.FileExtension = file.Extension;
		mediaFile.FileMimeType = MimeTypeHelper.GetMimetype(file.Extension);
		mediaFile.FileSiteID = SiteContext.CurrentSiteID;
		mediaFile.FileLibraryID = library.LibraryID;
		mediaFile.FileSize = file.Length;

		// Saves the media library file
		MediaFileInfoProvider.SetMediaFileInfo(mediaFile);
	}
}

> Back to list of examples

Updating a media library file

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Gets the media file
	MediaFileInfo updateFile = MediaFileInfoProvider.GetMediaFileInfo(library.LibraryID, "NewFolder/Image.png");

	if (updateFile != null)
	{
		// Updates the media library file properties
		updateFile.FileDescription = updateFile.FileDescription.ToLower();

		// Saves the media library file
		MediaFileInfoProvider.SetMediaFileInfo(updateFile);
	}
}

> Back to list of examples

Updating multiple media library files

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Gets all .png files from the "NewFolder" folder of the specified media library
	var mediaFiles = MediaFileInfoProvider.GetMediaFiles()
												.WhereEquals("FileLibraryID", library.LibraryID)
												.WhereEquals("FileExtension", ".png")
												.WhereStartsWith("FilePath", "NewFolder");
	
	// Loops through individual media library files
	foreach (MediaFileInfo mediaFile in mediaFiles)
	{
		// Updates the media file properties
		mediaFile.FileDescription = mediaFile.FileDescription.ToUpper();

		// Saves the media library file
		MediaFileInfoProvider.SetMediaFileInfo(mediaFile);
	}
}

> Back to list of examples

Deleting a media library file

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Gets the media file
	MediaFileInfo deleteFile = MediaFileInfoProvider.GetMediaFileInfo(library.LibraryID, "NewFolder/Image.png");

	if (deleteFile != null)
	{
		// Deletes the media file
		MediaFileInfoProvider.DeleteMediaFileInfo(deleteFile);
	}
}

> Back to list of examples

Deleting a media library folder

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Deletes the "NewFolder" folder within the media library
	MediaLibraryInfoProvider.DeleteMediaLibraryFolder(SiteContext.CurrentSiteName, library.LibraryID, "NewFolder", false);
}

> Back to list of examples

Media library security

Setting the security options for a media library

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

if (library != null)
{
	// Allows the content of the media library to be viewable for all users									   
	library.Access = SecurityAccessEnum.AllUsers;

	// Allows management of the media library's files and folders only for assigned roles
	library.FileCreate = SecurityAccessEnum.AuthorizedRoles;
	library.FolderCreate = SecurityAccessEnum.AuthorizedRoles;
	library.FolderModify = SecurityAccessEnum.AuthorizedRoles;
	library.FileDelete = SecurityAccessEnum.AuthorizedRoles;
	library.FolderDelete = SecurityAccessEnum.AuthorizedRoles;
	library.FileModify = SecurityAccessEnum.AuthorizedRoles;

	// Saves the updated media library to the database
	MediaLibraryInfoProvider.SetMediaLibraryInfo(library);
}

> Back to list of examples

Allowing a media library action for a role

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

// Gets the role
RoleInfo libraryRole = RoleInfoProvider.GetRoleInfo("Admin", SiteContext.CurrentSiteID);

// Gets the "Create file" media library permission
PermissionNameInfo libraryPermission = PermissionNameInfoProvider.GetPermissionNameInfo("FileCreate", "CMS.MediaLibrary", null);

// Checks that all of the objects exist
if ((library != null) && (libraryRole != null) && (libraryPermission != null))
{
	// Creates an object representing a relationship between the media library permission and the role
	MediaLibraryRolePermissionInfo rolePermission = new MediaLibraryRolePermissionInfo();
	rolePermission.LibraryID = library.LibraryID;
	rolePermission.RoleID = libraryRole.RoleID;
	rolePermission.PermissionID = libraryPermission.PermissionId;

	// Assigns the role to the media library permission
	// In this case, members the role are authorized to create files in the media library
	MediaLibraryRolePermissionInfoProvider.SetMediaLibraryRolePermissionInfo(rolePermission);
}

> Back to list of examples

Removing a role's authorization for a media library action

// Gets the media library
MediaLibraryInfo library = MediaLibraryInfoProvider.GetMediaLibraryInfo("NewLibrary", SiteContext.CurrentSiteName);

// Gets the role
RoleInfo libraryRole = RoleInfoProvider.GetRoleInfo("Admin", SiteContext.CurrentSiteID);

// Gets the "Create file" media library permission
PermissionNameInfo libraryPermission = PermissionNameInfoProvider.GetPermissionNameInfo("FileCreate", "CMS.MediaLibrary", null);

// Checks that all of the objects exist
if ((library != null) && (libraryRole != null) && (libraryPermission != null))
{
	// Gets the object representing the relationship between the media library permission and the role
	MediaLibraryRolePermissionInfo rolePermission = 
		MediaLibraryRolePermissionInfoProvider.GetMediaLibraryRolePermissionInfo(library.LibraryID, libraryRole.RoleID, libraryPermission.PermissionId);

	if (rolePermission != null)
	{
		// Removes the role from the media library permission
		MediaLibraryRolePermissionInfoProvider.DeleteMediaLibraryRolePermissionInfo(rolePermission);
	}
}

> Back to list of examples