Class UniqueMediaPathScheme
Implements a unique directory media path scheme.
Inheritance
Namespace: Umbraco.Cms.Core.IO.MediaPathSchemes
Assembly: Umbraco.Core.dll
Syntax
public class UniqueMediaPathScheme : IMediaPathScheme
Remarks
This scheme provides deterministic short paths, with potential collisions.
Methods
View SourceGetDeleteDirectory(MediaFileManager, String)
Gets the directory that can be deleted when the file is deleted.
Declaration
public string GetDeleteDirectory(MediaFileManager fileManager, string filepath)
Parameters
Type | Name | Description |
---|---|---|
MediaFileManager | fileManager | |
System.String | filepath | The filesystem-relative path of the file. |
Returns
Type | Description |
---|---|
System.String | The filesystem-relative path of the directory. |
Remarks
Returning null so that DeleteMediaFiles(IEnumerable<String>) does not delete any directory. This is because the above shortening of the Guid to 8 chars means we're increasing the risk of collision, and we don't want to delete files belonging to other media items.
And, at the moment, we cannot delete directory "only if it is empty" because of race conditions. We'd need to implement locks in MediaFileManager for this.
GetFilePath(MediaFileManager, Guid, Guid, String)
Gets a media file path.
Declaration
public string GetFilePath(MediaFileManager fileManager, Guid itemGuid, Guid propertyGuid, string filename)
Parameters
Type | Name | Description |
---|---|---|
MediaFileManager | fileManager | The media filesystem. |
Guid | itemGuid | The (content, media) item unique identifier. |
Guid | propertyGuid | The property type unique identifier. |
System.String | filename | The file name. |
Returns
Type | Description |
---|---|
System.String | The filesystem-relative complete file path. |