Class MediaService
Represents the Media Service, which is an easy access to operations involving IMedia
Namespace: Umbraco.Cms.Core.Services
Assembly: Umbraco.Core.dll
Syntax
public class MediaService : RepositoryService, IMediaService, IContentServiceBase<IMedia>, IContentServiceBase, IService
Constructors
View SourceMediaService(ICoreScopeProvider, MediaFileManager, ILoggerFactory, IEventMessagesFactory, IMediaRepository, IAuditRepository, IMediaTypeRepository, IEntityRepository, IShortStringHelper)
Declaration
public MediaService(ICoreScopeProvider provider, MediaFileManager mediaFileManager, ILoggerFactory loggerFactory, IEventMessagesFactory eventMessagesFactory, IMediaRepository mediaRepository, IAuditRepository auditRepository, IMediaTypeRepository mediaTypeRepository, IEntityRepository entityRepository, IShortStringHelper shortStringHelper)
Parameters
Type | Name | Description |
---|---|---|
ICoreScopeProvider | provider | |
MediaFileManager | mediaFileManager | |
ILoggerFactory | loggerFactory | |
IEventMessagesFactory | eventMessagesFactory | |
IMediaRepository | mediaRepository | |
IAuditRepository | auditRepository | |
IMediaTypeRepository | mediaTypeRepository | |
IEntityRepository | entityRepository | |
IShortStringHelper | shortStringHelper |
Methods
View SourceCheckDataIntegrity(ContentDataIntegrityReportOptions)
Declaration
public ContentDataIntegrityReport CheckDataIntegrity(ContentDataIntegrityReportOptions options)
Parameters
Type | Name | Description |
---|---|---|
ContentDataIntegrityReportOptions | options |
Returns
Type | Description |
---|---|
ContentDataIntegrityReport |
Count(String)
Declaration
public int Count(string mediaTypeAlias = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | mediaTypeAlias |
Returns
Type | Description |
---|---|
System.Int32 |
CountChildren(Int32, String)
Declaration
public 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
public 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
public int CountNotTrashed(string mediaTypeAlias = null)
Parameters
Type | Name | Description |
---|---|---|
System.String | mediaTypeAlias |
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
public 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 of a specified media type.
Declaration
public IMedia CreateMedia(string name, int parentId, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the media object. |
System.Int32 | parentId | The identifier of the parent, or -1. |
System.String | mediaTypeAlias | The alias of the media type. |
System.Int32 | userId | The optional id of the user creating the media. |
Returns
Type | Description |
---|---|
IMedia | The media object. |
Remarks
This method simply returns a new, non-persisted, IMedia without any identity. It is intended as a shortcut to creating new media objects that does not invoke a save operation against the database.
CreateMedia(String, String, Int32)
Creates an IMedia object of a specified media type, at root.
Declaration
public IMedia CreateMedia(string name, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the media object. |
System.String | mediaTypeAlias | The alias of the media type. |
System.Int32 | userId | The optional id of the user creating the media. |
Returns
Type | Description |
---|---|
IMedia | The media object. |
Remarks
This method simply returns a new, non-persisted, IMedia without any identity. 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 of a specified media type, under a parent.
Declaration
public IMedia CreateMedia(string name, IMedia parent, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the media object. |
IMedia | parent | The parent media object. |
System.String | mediaTypeAlias | The alias of the media type. |
System.Int32 | userId | The optional id of the user creating the media. |
Returns
Type | Description |
---|---|
IMedia | The media object. |
Remarks
This method simply returns a new, non-persisted, IMedia without any identity. 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 of a specified media type.
Declaration
public IMedia CreateMediaWithIdentity(string name, int parentId, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the media object. |
System.Int32 | parentId | The identifier of the parent, or -1. |
System.String | mediaTypeAlias | The alias of the media type. |
System.Int32 | userId | The optional id of the user creating the media. |
Returns
Type | Description |
---|---|
IMedia | The media object. |
Remarks
This method returns a new, persisted, IMedia with an identity.
CreateMediaWithIdentity(String, IMedia, String, Int32)
Creates an IMedia object of a specified media type, under a parent.
Declaration
public IMedia CreateMediaWithIdentity(string name, IMedia parent, string mediaTypeAlias, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
System.String | name | The name of the media object. |
IMedia | parent | The parent media object. |
System.String | mediaTypeAlias | The alias of the media type. |
System.Int32 | userId | The optional id of the user creating the media. |
Returns
Type | Description |
---|---|
IMedia | The media object. |
Remarks
This method returns a new, persisted, IMedia with an identity.
Delete(IMedia, Int32)
Permanently deletes an IMedia object
Declaration
public 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> |
DeleteMediaFile(String)
Declaration
public void DeleteMediaFile(string filepath)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath |
DeleteMediaOfType(Int32, Int32)
Deletes all media of specified type. All children of deleted media is moved to Recycle Bin.
Declaration
public 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 the media |
Remarks
This needs extra care and attention as its potentially a dangerous and extensive operation
DeleteMediaOfTypes(IEnumerable<Int32>, Int32)
Deletes all media of specified type. All children of deleted media is moved to Recycle Bin.
Declaration
public void DeleteMediaOfTypes(IEnumerable<int> mediaTypeIds, int userId = -1)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<System.Int32> | mediaTypeIds | Id of the IMediaType |
System.Int32 | userId | Optional id of the user deleting the media |
Remarks
This needs extra care and attention as its potentially a dangerous and extensive operation.
Deletes media items of the specified type, and only that type. Does not handle content types inheritance and compositions, which need to be managed outside of this method.
DeleteVersion(Int32, Int32, Boolean, Int32)
Permanently deletes specific version(s) from an IMedia object. This method will never delete the latest version of a media item.
Declaration
public 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 Media object |
DeleteVersions(Int32, DateTime, Int32)
Permanently deletes versions from an IMedia object prior to a specific date. This method will never delete the latest version of a media item.
Declaration
public 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 Media object |
EmptyRecycleBin(Int32)
Empties the Recycle Bin by deleting all IMedia that resides in the bin
Declaration
public 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 |
GetAncestors(Int32)
Gets a collection of IMedia objects, which are ancestors of the current media.
Declaration
public 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
public 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
public 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
public IMedia GetById(int id)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | id | Id of the Media to retrieve |
Returns
Type | Description |
---|---|
IMedia | IMedia |
GetByIds(IEnumerable<Guid>)
Gets an IMedia object by Id
Declaration
public IEnumerable<IMedia> GetByIds(IEnumerable<Guid> ids)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Guid> | ids | Ids of the Media to retrieve |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | IMedia |
GetByIds(IEnumerable<Int32>)
Gets an IMedia object by Id
Declaration
public IEnumerable<IMedia> GetByIds(IEnumerable<int> ids)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<System.Int32> | ids | Ids of the Media to retrieve |
Returns
Type | Description |
---|---|
IEnumerable<IMedia> | IMedia |
GetByLevel(Int32)
Gets a collection of IMedia objects by Level
Declaration
public 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 |
Remarks
Contrary to most methods, this method filters out trashed media items.
GetMediaByPath(String)
Gets an IMedia object from the path stored in the 'umbracoFile' property.
Declaration
public 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)
Declaration
public Stream GetMediaFileContentStream(string filepath)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath |
Returns
Type | Description |
---|---|
Stream |
GetMediaFileSize(String)
Declaration
public long GetMediaFileSize(string filepath)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath |
Returns
Type | Description |
---|---|
System.Int64 |
GetPagedChildren(Int32, Int64, Int32, out Int64, IQuery<IMedia>, Ordering)
Gets a collection of IMedia objects by Parent Id
Declaration
public IEnumerable<IMedia> GetPagedChildren(int id, long pageIndex, int pageSize, out long totalChildren, 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 | totalChildren | |
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
public IEnumerable<IMedia> GetPagedDescendants(int id, long pageIndex, int pageSize, out long totalChildren, 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 | totalChildren | |
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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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
public 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> |
MoveToRecycleBin(IMedia, Int32)
Deletes an IMedia object by moving it to the Recycle Bin
Declaration
public 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()
Declaration
public bool RecycleBinSmells()
Returns
Type | Description |
---|---|
System.Boolean |
Save(IEnumerable<IMedia>, Int32)
Saves a collection of IMedia objects
Declaration
public 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
public 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)
Declaration
public void SetMediaFileContent(string filepath, Stream stream)
Parameters
Type | Name | Description |
---|---|---|
System.String | filepath | |
Stream | stream |
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
public 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 |