Soenneker.Blob.Download 4.0.3594

Prefix Reserved
dotnet add package Soenneker.Blob.Download --version 4.0.3594
                    
NuGet\Install-Package Soenneker.Blob.Download -Version 4.0.3594
                    
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="Soenneker.Blob.Download" Version="4.0.3594" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Soenneker.Blob.Download" Version="4.0.3594" />
                    
Directory.Packages.props
<PackageReference Include="Soenneker.Blob.Download" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Soenneker.Blob.Download --version 4.0.3594
                    
#r "nuget: Soenneker.Blob.Download, 4.0.3594"
                    
#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.
#:package Soenneker.Blob.Download@4.0.3594
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Soenneker.Blob.Download&version=4.0.3594
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Blob.Download&version=4.0.3594
                    
Install as a Cake Tool

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

Soenneker.Blob.Download

Downloads Azure blobs to temporary files, memory streams, or strings.

Installation

dotnet add package Soenneker.Blob.Download

Configuration

Provide the Azure Storage connection string through configuration:

{
  "Azure": {
    "Storage": {
      "Blob": {
        "ConnectionString": "<connection string>"
      }
    }
  }
}

Registration

using Microsoft.Extensions.DependencyInjection;
using Soenneker.Blob.Download.Registrars;

services.AddBlobDownloadUtilAsScoped();

AddBlobDownloadUtilAsSingleton() is also available when a singleton lifetime fits the application.

Usage

using Soenneker.Blob.Download.Abstract;

public sealed class DocumentStore
{
    private readonly IBlobDownloadUtil _downloads;

    public DocumentStore(IBlobDownloadUtil downloads)
    {
        _downloads = downloads;
    }

    public async ValueTask<string> ReadManifest(CancellationToken cancellationToken)
    {
        return await _downloads.DownloadToString(
            "documents",
            "manifests/latest.json",
            cancellationToken: cancellationToken);
    }
}

Download to a temporary file when the content should not be buffered in memory:

FileInfo file = await downloads.Download(
    "documents",
    "exports/archive.zip",
    cancellationToken: cancellationToken);

try
{
    // Consume file here.
}
finally
{
    file.Delete();
}

For in-memory processing, dispose the returned stream:

await using MemoryStream stream = await downloads.DownloadToMemory(
    "documents",
    "images/logo.png",
    cancellationToken: cancellationToken);

Choosing a download method

Method Use it when Ownership
Download The blob may be large or a file-based API needs the result Delete the returned temporary file
DownloadToMemory A stream-based API needs reasonably sized content Dispose the returned stream
DownloadToString The blob is reasonably sized text Returns an owned string

Behavior

  • DownloadToMemory and DownloadToString buffer the entire blob. Prefer Download for large or untrusted content.
  • The stream returned by DownloadToMemory is positioned at 0.
  • Failed file downloads remove the incomplete temporary file when possible. Failed memory downloads dispose their stream.
  • A missing blob is reported through Azure's RequestFailedException, including a 404 status when returned by the service.
  • publicAccessType is used only if the underlying client utility creates a missing container; it does not update an existing container's access level.
  • Cancellation is passed to Azure Storage and temporary resource creation.
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Soenneker.Blob.Download:

Package Downloads
Soenneker.Blob.Suite

A concoction of Azure Blob Storage utilities and libraries

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.0.3594 47 9/10/2026
4.0.3593 54 9/9/2026
4.0.3592 55 9/9/2026
4.0.3590 68 9/9/2026
4.0.3589 65 9/8/2026
4.0.3588 72 9/8/2026
4.0.3587 111 9/8/2026
4.0.3586 69 9/8/2026
4.0.3585 64 9/7/2026
4.0.3584 75 9/7/2026
4.0.3583 79 9/7/2026
4.0.3582 94 9/5/2026
4.0.3581 117 9/5/2026
4.0.3580 83 9/5/2026
4.0.3579 70 9/5/2026
4.0.3578 151 9/4/2026
4.0.3577 74 9/4/2026
4.0.3575 108 9/4/2026
4.0.3574 77 9/4/2026
4.0.3573 61 9/4/2026
Loading failed

Updated Multiple NuGet packages