33 lines
1.2 KiB
C#
33 lines
1.2 KiB
C#
namespace Socialize.Infrastructure.BlobStorage.Contracts;
|
|
|
|
public interface IBlobStorage
|
|
{
|
|
/// <summary>
|
|
/// Upload a file to blob storage.
|
|
/// </summary>
|
|
/// <param name="containerName">The name of the container where the file is stored.</param>
|
|
/// <param name="blobName">The blob name (path within the container, include the file name).</param>
|
|
/// <param name="stream"></param>
|
|
/// <param name="contentType">The content type.</param>
|
|
/// <param name="ct">The cancellation token</param>
|
|
/// <returns></returns>
|
|
Task<string> UploadFileAsync(
|
|
string containerName,
|
|
string blobName,
|
|
Stream stream,
|
|
string contentType,
|
|
CancellationToken ct = default);
|
|
|
|
/// <summary>
|
|
/// Download a file to blob storage.
|
|
/// </summary>
|
|
/// <param name="blobName">The blob name (path within the container).</param>
|
|
/// <param name="containerName">The name of the container where the file is stored. (users)</param>
|
|
/// <param name="ct">The cancellation token for the request</param>
|
|
/// <returns></returns>
|
|
Task<MemoryStream> DownloadFileAsync(
|
|
string containerName,
|
|
string blobName,
|
|
CancellationToken ct = default);
|
|
}
|