Interface IMediaService
Defines the Media Service, which is an easy access to operations involving IMedia
Namespace: Umbraco.Cms.Core.Services
Assembly: Umbraco.Core.dll
Syntax
public interface IMediaService : IContentServiceBase<IMedia>, IContentServiceBase, IService
Methods
View SourceCount(String)
Declaration
int Count(string mediaTypeAlias = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | mediaTypeAlias |
Returns
Type | Description |
---|---|
System.Int32 |
CountChildren(Int32, String)
Declaration
int CountChildren(int parentId, string mediaTypeAlias = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | |
System.String | mediaTypeAlias |
Returns
Type | Description |
---|---|
System.Int32 |
CountDescendants(Int32, String)
Declaration
int CountDescendants(int parentId, string mediaTypeAlias = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | parentId | |
System.String | mediaTypeAlias |
Returns
Type | Description |
---|---|
System.Int32 |
CountNotTrashed(String)
Declaration
int CountNotTrashed(string contentTypeAlias = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | contentTypeAlias |
Returns
Type | Description |
---|---|
System.Int32 |
CreateMedia(String, Guid, String, Int32)
Creates an IMedia object using the alias of the IMediaType that this Media should based on.
Declaration
IMedia CreateMedia(string name, Guid parentId, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Name of the Media object |
Guid | parentId | Id of Parent for the new Media item |
System.String | mediaTypeAlias | Alias of the IMediaType |
System.Int32 | userId | Optional id of the user creating the media item |
Returns
Type | Description |
---|---|
IMedia | IMedia |
Remarks
Note that using this method will simply return a new IMedia without any identity as it has not yet been persisted. It is intended as a shortcut to creating new media objects that does not invoke a save operation against the database.
CreateMedia(String, Int32, String, Int32)
Creates an IMedia object using the alias of the IMediaType that this Media should based on.
Declaration
IMedia CreateMedia(string name, int parentId, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Name of the Media object |
System.Int32 | parentId | Id of Parent for the new Media item |
System.String | mediaTypeAlias | Alias of the IMediaType |
System.Int32 | userId | Optional id of the user creating the media item |
Returns
Type | Description |
---|---|
IMedia | IMedia |
Remarks
Note that using this method will simply return a new IMedia without any identity as it has not yet been persisted. It is intended as a shortcut to creating new media objects that does not invoke a save operation against the database.
CreateMedia(String, IMedia, String, Int32)
Creates an IMedia object using the alias of the IMediaType that this Media should based on.
Declaration
IMedia CreateMedia(string name, IMedia parent, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Name of the Media object |
IMedia | parent | Parent IMedia for the new Media item |
System.String | mediaTypeAlias | Alias of the IMediaType |
System.Int32 | userId | Optional id of the user creating the media item |
Returns
Type | Description |
---|---|
IMedia | IMedia |
Remarks
Note that using this method will simply return a new IMedia without any identity as it has not yet been persisted. It is intended as a shortcut to creating new media objects that does not invoke a save operation against the database.
CreateMediaWithIdentity(String, Int32, String, Int32)
Creates an IMedia object using the alias of the IMediaType that this Media should based on.
Declaration
IMedia CreateMediaWithIdentity(string name, int parentId, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Name of the Media object |
System.Int32 | parentId | Id of Parent for the new Media item |
System.String | mediaTypeAlias | Alias of the IMediaType |
System.Int32 | userId | Optional id of the user creating the media item |
Returns
Type | Description |
---|---|
IMedia | IMedia |
Remarks
This method returns an IMedia object that has been persisted to the database and therefor has an identity.
CreateMediaWithIdentity(String, IMedia, String, Int32)
Creates an IMedia object using the alias of the IMediaType that this Media should based on.
Declaration
IMedia CreateMediaWithIdentity(string name, IMedia parent, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | Name of the Media object |
IMedia | parent | Parent IMedia for the new Media item |
System.String | mediaTypeAlias | Alias of the IMediaType |
System.Int32 | userId | Optional id of the user creating the media item |
Returns
Type | Description |
---|---|
IMedia | IMedia |
Remarks
This method returns an IMedia object that has been persisted to the database and therefor has an identity.
Delete(IMedia, Int32)
Permanently deletes an IMedia object
Declaration
Attempt<OperationResult> Delete(IMedia media, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IMedia | media | The IMedia to delete |
System.Int32 | userId | Id of the User deleting the Media |
Returns
Type | Description |
---|---|
Attempt<OperationResult> |
Remarks
Please note that this method will completely remove the Media from the database, but current not from the file system.
DeleteMediaFile(String)
Deletes a media file.
Declaration
void DeleteMediaFile(string filepath)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath | The filesystem path to the media. |
DeleteMediaOfType(Int32, Int32)
Deletes all media of specified type. All children of deleted media is moved to Recycle Bin.
Declaration
void DeleteMediaOfType(int mediaTypeId, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | mediaTypeId | Id of the IMediaType |
System.Int32 | userId | Optional Id of the user deleting Media |
Remarks
This needs extra care and attention as its potentially a dangerous and extensive operation
DeleteMediaOfTypes(IEnumerable<Int32>, Int32)
Deletes all media of the specified types. All Descendants of deleted media that is not of these types is moved to Recycle Bin.
Declaration
void DeleteMediaOfTypes(IEnumerable<int> mediaTypeIds, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<System.Int32> | mediaTypeIds | Ids of the IMediaTypes |
System.Int32 | userId | Optional Id of the user issuing the delete operation |
Remarks
This needs extra care and attention as its potentially a dangerous and extensive operation
DeleteVersion(Int32, Int32, Boolean, Int32)
Permanently deletes specific version(s) from an IMedia object.
Declaration
void DeleteVersion(int id, int versionId, bool deletePriorVersions, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IMedia object to delete a version from |
System.Int32 | versionId | Id of the version to delete |
System.Boolean | deletePriorVersions | Boolean indicating whether to delete versions prior to the versionId |
System.Int32 | userId | Optional Id of the User deleting versions of a Content object |
DeleteVersions(Int32, DateTime, Int32)
Permanently deletes versions from an IMedia object prior to a specific date.
Declaration
void DeleteVersions(int id, DateTime versionDate, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IMedia object to delete versions from |
DateTime | versionDate | Latest version date |
System.Int32 | userId | Optional Id of the User deleting versions of a Content object |
EmptyRecycleBin(Int32)
Empties the Recycle Bin by deleting all IMedia that resides in the bin
Declaration
OperationResult EmptyRecycleBin(int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | userId | Optional Id of the User emptying the Recycle Bin |
Returns
Type | Description |
---|---|
OperationResult |
EmptyRecycleBinAsync(Guid)
Declaration
Task<OperationResult> EmptyRecycleBinAsync(Guid userId)
Parameters
Type | Name | Description |
---|---|---|
Guid | userId |
Returns
Type | Description |
---|---|
Task<OperationResult> |
GetAncestors(Int32)
Gets a collection of IMedia objects, which are ancestors of the current media.
Declaration
IEnumerable<IMedia> GetAncestors(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IMedia to retrieve ancestors for |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IMedia objects |
GetAncestors(IMedia)
Gets a collection of IMedia objects, which are ancestors of the current media.
Declaration
IEnumerable<IMedia> GetAncestors(IMedia media)
Parameters
Type | Name | Description |
---|---|---|
IMedia | media | IMedia to retrieve ancestors for |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IMedia objects |
GetById(Guid)
Gets an IMedia object by its 'UniqueId'
Declaration
IMedia GetById(Guid key)
Parameters
Type | Name | Description |
---|---|---|
Guid | key | Guid key of the Media to retrieve |
Returns
Type | Description |
---|---|
IMedia | IMedia |
GetById(Int32)
Gets an IMedia object by Id
Declaration
IMedia GetById(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the Content to retrieve |
Returns
Type | Description |
---|---|
IMedia | IMedia |
GetByIds(IEnumerable<Guid>)
Declaration
IEnumerable<IMedia> GetByIds(IEnumerable<Guid> ids)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Guid> | ids |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> |
GetByIds(IEnumerable<Int32>)
Declaration
IEnumerable<IMedia> GetByIds(IEnumerable<int> ids)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<System.Int32> | ids |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> |
GetByLevel(Int32)
Gets a collection of IMedia objects by Level
Declaration
IEnumerable<IMedia>? GetByLevel(int level)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | level | The level to retrieve Media from |
Returns
Type | Description |
---|---|
System.Nullable<IEnumerable<IMedia>> | An Enumerable list of IMedia objects |
GetMediaByPath(String)
Gets an IMedia object from the path stored in the 'umbracoFile' property.
Declaration
IMedia GetMediaByPath(string mediaPath)
Parameters
Type | Name | Description |
---|---|---|
System.String | mediaPath | Path of the media item to retrieve (for example: /media/1024/koala_403x328.jpg) |
Returns
Type | Description |
---|---|
IMedia | IMedia |
GetMediaFileContentStream(String)
Gets the content of a media as a stream.
Declaration
Stream GetMediaFileContentStream(string filepath)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath | The filesystem path to the media. |
Returns
Type | Description |
---|---|
Stream | The content of the media. |
GetMediaFileSize(String)
Gets the size of a media.
Declaration
long GetMediaFileSize(string filepath)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath | The filesystem path to the media. |
Returns
Type | Description |
---|---|
System.Int64 | The size of the media. |
GetPagedChildren(Int32, Int64, Int32, out Int64, IQuery<IMedia>, Ordering)
Gets a collection of IMedia objects by Parent Id
Declaration
IEnumerable<IMedia> GetPagedChildren(int id, long pageIndex, int pageSize, out long totalRecords, IQuery<IMedia> filter = null, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the Parent to retrieve Children from |
System.Int64 | pageIndex | Page number |
System.Int32 | pageSize | Page size |
System.Int64 | totalRecords | Total records query would return without paging |
IQuery<IMedia> | filter | |
Ordering | ordering |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IContent objects |
GetPagedDescendants(Int32, Int64, Int32, out Int64, IQuery<IMedia>, Ordering)
Gets a collection of IMedia objects by Parent Id
Declaration
IEnumerable<IMedia> GetPagedDescendants(int id, long pageIndex, int pageSize, out long totalRecords, IQuery<IMedia> filter = null, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the Parent to retrieve Descendants from |
System.Int64 | pageIndex | Page number |
System.Int32 | pageSize | Page size |
System.Int64 | totalRecords | Total records query would return without paging |
IQuery<IMedia> | filter | |
Ordering | ordering |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IContent objects |
GetPagedMediaInRecycleBin(Int64, Int32, out Int64, IQuery<IMedia>, Ordering)
Gets a collection of an IMedia objects, which resides in the Recycle Bin
Declaration
IEnumerable<IMedia> GetPagedMediaInRecycleBin(long pageIndex, int pageSize, out long totalRecords, IQuery<IMedia> filter = null, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int64 | pageIndex | |
System.Int32 | pageSize | |
System.Int64 | totalRecords | |
IQuery<IMedia> | filter | |
Ordering | ordering |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IMedia objects |
GetPagedOfType(Int32, Int64, Int32, out Int64, IQuery<IMedia>, Ordering)
Gets paged documents of a content
Declaration
IEnumerable<IMedia> GetPagedOfType(int contentTypeId, long pageIndex, int pageSize, out long totalRecords, IQuery<IMedia> filter = null, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | contentTypeId | The page number. |
System.Int64 | pageIndex | The page number. |
System.Int32 | pageSize | The page size. |
System.Int64 | totalRecords | Total number of documents. |
IQuery<IMedia> | filter | Search text filter. |
Ordering | ordering | Ordering infos. |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> |
GetPagedOfTypes(Int32[], Int64, Int32, out Int64, IQuery<IMedia>, Ordering)
Gets paged documents for specified content types
Declaration
IEnumerable<IMedia> GetPagedOfTypes(int[] contentTypeIds, long pageIndex, int pageSize, out long totalRecords, IQuery<IMedia> filter = null, Ordering ordering = null)
Parameters
Type | Name | Description |
---|---|---|
System.Int32[] | contentTypeIds | The page number. |
System.Int64 | pageIndex | The page number. |
System.Int32 | pageSize | The page size. |
System.Int64 | totalRecords | Total number of documents. |
IQuery<IMedia> | filter | Search text filter. |
Ordering | ordering | Ordering infos. |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> |
GetParent(Int32)
Gets the parent of the current media as an IMedia item.
Declaration
IMedia GetParent(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IMedia to retrieve the parent from |
Returns
Type | Description |
---|---|
IMedia | Parent IMedia object |
GetParent(IMedia)
Gets the parent of the current media as an IMedia item.
Declaration
IMedia GetParent(IMedia media)
Parameters
Type | Name | Description |
---|---|---|
IMedia | media | IMedia to retrieve the parent from |
Returns
Type | Description |
---|---|
IMedia | Parent IMedia object |
GetRootMedia()
Gets a collection of IMedia objects, which reside at the first level / root
Declaration
IEnumerable<IMedia> GetRootMedia()
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IMedia objects |
GetVersion(Int32)
Gets a specific version of an IMedia item.
Declaration
IMedia GetVersion(int versionId)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | versionId | Id of the version to retrieve |
Returns
Type | Description |
---|---|
IMedia | An IMedia item |
GetVersions(Int32)
Gets a collection of an IMedia objects versions by Id
Declaration
IEnumerable<IMedia> GetVersions(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | An Enumerable list of IMedia objects |
HasChildren(Int32)
Checks whether an IMedia item has any children
Declaration
bool HasChildren(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the IMedia |
Returns
Type | Description |
---|---|
System.Boolean | True if the media has any children otherwise False |
Move(IMedia, Int32, Int32)
Moves an IMedia object to a new location
Declaration
Attempt<OperationResult> Move(IMedia media, int parentId, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IMedia | media | The IMedia to move |
System.Int32 | parentId | Id of the Media's new Parent |
System.Int32 | userId | Id of the User moving the Media |
Returns
Type | Description |
---|---|
Attempt<OperationResult> | True if moving succeeded, otherwise False |
MoveToRecycleBin(IMedia, Int32)
Deletes an IMedia object by moving it to the Recycle Bin
Declaration
Attempt<OperationResult> MoveToRecycleBin(IMedia media, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IMedia | media | The IMedia to delete |
System.Int32 | userId | Id of the User deleting the Media |
Returns
Type | Description |
---|---|
Attempt<OperationResult> |
RecycleBinSmells()
Returns true if there is any media in the recycle bin
Declaration
bool RecycleBinSmells()
Returns
Type | Description |
---|---|
System.Boolean |
Save(IEnumerable<IMedia>, Int32)
Saves a collection of IMedia objects
Declaration
Attempt<OperationResult> Save(IEnumerable<IMedia> medias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IMedia> | medias | Collection of IMedia to save |
System.Int32 | userId | Id of the User saving the Media |
Returns
Type | Description |
---|---|
Attempt<OperationResult> |
Save(IMedia, Int32)
Saves a single IMedia object
Declaration
Attempt<OperationResult> Save(IMedia media, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IMedia | media | The IMedia to save |
System.Int32 | userId | Id of the User saving the Media |
Returns
Type | Description |
---|---|
Attempt<OperationResult> |
SetMediaFileContent(String, Stream)
Sets the content of a media.
Declaration
void SetMediaFileContent(string filepath, Stream content)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath | The filesystem path to the media. |
Stream | content | The content of the media. |
Sort(IEnumerable<IMedia>, Int32)
Sorts a collection of IMedia objects by updating the SortOrder according
to the ordering of items in the passed in
Declaration
bool Sort(IEnumerable<IMedia> items, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<IMedia> | items | |
System.Int32 | userId |
Returns
Type | Description |
---|---|
System.Boolean | True if sorting succeeded, otherwise False |