public async Task <BlobCreateResultModel> FindByNameAsync(string containerName, string blobName, CancellationToken cancellationToken = default) { var message = ""; try { var blobContainerClient = GetBlobContainerClient(containerName); EnsureContainerCreated(blobContainerClient); var blobClient = blobContainerClient.GetBlobClient(blobName); var exists = await blobClient.ExistsAsync(cancellationToken); if (exists) { var result = new BlobCreateResultModel { BlobName = blobClient.Name, Uri = blobClient.Uri.ToString(), ContainerName = blobClient.BlobContainerName, }; return(result); } else { message = "Could not find a file."; var details = new ErrorModel <int> { Code = (int)HttpStatusCode.NotFound, Message = message, }; throw new ApiHttpStatusException <ErrorModel <int> >(HttpStatusCode.NotFound, message, details); } } catch (Exception ex) { logger.LogError(ex.Message); throw; } }
public static string GetExtension(this BlobCreateResultModel source) { return($".{source.BlobName.Split('.').Last()}"); }
public static string GetNameWithoutExtension(this BlobCreateResultModel source) { var tokens = source.BlobName.Split('.'); return(string.Join('.', tokens.Take(tokens.Length - 1))); }