Soenneker.Blob.Download 4.0.3661

Prefix Reserved
dotnet add package Soenneker.Blob.Download --version 4.0.3661
                    
NuGet\Install-Package Soenneker.Blob.Download -Version 4.0.3661
                    
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.3661" />
                    
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.3661" />
                    
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.3661
                    
#r "nuget: Soenneker.Blob.Download, 4.0.3661"
                    
#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.3661
                    
#: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.3661
                    
Install as a Cake Addin
#tool nuget:?package=Soenneker.Blob.Download&version=4.0.3661
                    
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.3661 0 10/10/2026
4.0.3660 127 10/7/2026
4.0.3659 254 10/1/2026
4.0.3658 105 9/30/2026
4.0.3657 123 9/30/2026
4.0.3656 111 9/30/2026
4.0.3655 105 9/30/2026
4.0.3653 140 9/29/2026
4.0.3652 127 9/29/2026
4.0.3651 107 9/29/2026
4.0.3650 88 9/29/2026
4.0.3649 123 9/29/2026
4.0.3648 98 9/29/2026
4.0.3647 123 9/25/2026
4.0.3646 137 9/25/2026
4.0.3645 116 9/25/2026
4.0.3643 126 9/25/2026
4.0.3642 104 9/25/2026
4.0.3641 106 9/25/2026
4.0.3640 102 9/25/2026
Loading failed

Update dependency Soenneker.Blob.Client to 4.0.2232 (#4528)