AugusteVN.Azure.BlobStorage
1.0.6
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package AugusteVN.Azure.BlobStorage --version 1.0.6
NuGet\Install-Package AugusteVN.Azure.BlobStorage -Version 1.0.6
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AugusteVN.Azure.BlobStorage" Version="1.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AugusteVN.Azure.BlobStorage --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AugusteVN.Azure.BlobStorage, 1.0.6"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AugusteVN.Azure.BlobStorage as a Cake Addin #addin nuget:?package=AugusteVN.Azure.BlobStorage&version=1.0.6 // Install AugusteVN.Azure.BlobStorage as a Cake Tool #tool nuget:?package=AugusteVN.Azure.BlobStorage&version=1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Azure Blob Storage
Upload a file to Azure Blob Storage.
Configuration
appsettings.json
{
"BlobStorageConfig": {
"ConnectionString": "<to-fill>",
"AccountName": "<to-fill>",
"ContainerName": "<to-fill>",
"AccountKey": "<to-fill-optional>"
}
}
Program.cs
builder.Services
.AddOptions<BlobStorageConfig>()
.BindConfiguration(nameof(BlobStorageConfig));
builder.Services.AddSingleton<IBlobStorageClient, BlobStorageClient>();
// Or initialize
var blobStorageClient = new BlobStorageClient(
new BlobStorageConfig {
ConnectionString = "<to-fill>",
AccountName = "<to-fill>",
ContainerName = "<to-fill-optional>", // default container to target.
AccountKey = "<to-fill-optional>" // To generate URLs with SAS tokens.
});
Upload File
Program.cs
app.MapPost("/", async (IFormFile file, IBlobStorageClient blobStorageClient) => {
var url = await blobStorageClient.UploadSingleAsync(
file.FileName,
file.OpenReadStream(),
"exampleContainerName" // Optionally overwrite the 'ContainerName' specified in config.
);
return Results.Ok(new { Url = url });
});
Generate URL with SAS token
Generates an URL including a SAS token that grants read access for a given duration.
This requires the AccountKey
to be configured in the appsettings.json
.
Program.cs
app.MapGet("/", (IBlobStorageClient blobStorageClient) => {
var sasUrl = await blobStorageClient.GenerateSasUrlForBlob(
blobName: "example.png",
expiresOn: DateTimeOffset.UtcNow.AddHours(24) // <-- default value
containerName: "exampleContainerName" // Optionally overwrite the 'ContainerName' specified in config.
);
return Results.Ok(new { Url = sasUrl });
});
To see it in action, watch: File Upload - Blazor to Minimal API to Azure with C# .NET 8.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Azure.Storage.Blobs (>= 12.19.1)
- Microsoft.Extensions.Options (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
BaseUrl public.