Tool to create containers and blob in azure storage
$ dotnet add package NetNinja.AzureStorageHandler
¿ How to inject ?
//program.cs
var storageConfiguration = new StorageConfiguration
{
BlobName = "myblob",
ContainerName = builder.Configuration["AzureStorage:StgContainerName"] ?? string.Empty,
ConnectionString = builder.Configuration["AzureStorage:StgConnectionString"] ?? string.Empty,
FilePath = builder.Configuration["AzureStorage:Uri"] ?? string.Empty,
ExpiresOnInHours = Int32.Parse(builder.Configuration["AzureStorage:ExpiresOnInHours"]!)
};
builder.Services.AddSingleton(storageConfiguration);
builder.Services.AddSingleton(x => new BlobServiceClient(
builder.Configuration["AzureStorage:StgConnectionString"] ?? string.Empty
)
);
builder.Services.AddTransient<IStorageHandler, StorageHandler>();
Terms:
ConnectionString : connection string of your storage account
BlobName : you don't need to set here, you will when you use then methods to upload
ContainerName : you can set here one by default or set in uploads methods dynamically.
FilePath : the path to your container
ExpiresOnInHours : the time a sasUri takes to expire.
var blobReference = await _storageHandler.UploadIFormFileToBlobAsync(multipartFile);
return blobReference;
var blobReference = await _storageHandler.Uploadbase64BlobAsync(base64Command);
return blobReference;
_storageHandler.GenerateSasUriFromBlobName(blobName);
_storageHandler.ListAllBlobs(containerName);
CreateContainer
_storageHandler.DeleteContainer(containerName);