/// <inheritdoc /> public string GetFilePath(MediaFileManager fileManager, Guid itemGuid, Guid propertyGuid, string filename) { var combinedGuid = GuidUtils.Combine(itemGuid, propertyGuid); var directory = GuidUtils.ToBase32String(combinedGuid, DirectoryLength); return(Path.Combine(directory, filename).Replace('\\', '/')); }
public void GuidCombineMethodsAreEqual() { var a = Guid.NewGuid(); var b = Guid.NewGuid(); Assert.AreEqual(GuidUtils.Combine(a, b).ToByteArray(), Combine(a, b)); }
/// <inheritdoc /> public string GetFilePath(IMediaFileSystem fileSystem, Guid itemGuid, Guid propertyGuid, string filename, string previous = null) { var combinedGuid = GuidUtils.Combine(itemGuid, propertyGuid); var directory = GuidUtils.ToBase32String(combinedGuid, DirectoryLength); return(Path.Combine(directory, filename).Replace('\\', '/')); }
/// <inheritdoc /> public string GetFilePath(IMediaFileSystem fileSystem, Guid itemGuid, Guid propertyGuid, string filename, string previous = null) { // assumes that cuid and puid keys can be trusted - and that a single property type // for a single content cannot store two different files with the same name var directory = HexEncoder.Encode(GuidUtils.Combine(itemGuid, propertyGuid).ToByteArray() /*'/', 2, 4*/); // could use ext to fragment path eg 12/e4/f2/... return(Path.Combine(directory, filename).Replace('\\', '/')); }
public byte[] CombineUtils() => GuidUtils.Combine(_a, _b).ToByteArray();