Strathweb.AspNetCore.AzureBlobFileProvider
No description available
Install / Use
/learn @filipw/Strathweb.AspNetCore.AzureBlobFileProviderREADME
Strathweb.AspNetCore.AzureBlobFileProvider
Azure Blob Storage file provider (IFileProvider) for ASP.NET Core.
Installation
Install-Package Strathweb.AspNetCore.AzureBlobFileProvider
Usage
Configure access to your Blob Storage via storage account connection string or SAS token.
Below is the usage example for both flows - where access to files from Blob Storage is enabled on the /files route (including directory browsing in the browser).
Connection string
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
var blobOptions = new AzureBlobOptions
{
ConnectionString = "{my connection string}",
DocumentContainer = "{blob container name}"
}
var azureBlobFileProvider = new AzureBlobFileProvider(blobOptions);
services.AddSingleton(azureBlobFileProvider);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var blobFileProvider = app.ApplicationServices.GetRequiredService<AzureBlobFileProvider>();
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = blobFileProvider,
RequestPath = "/files"
});
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = blobFileProvider,
RequestPath = "/files"
});
}
}
Token (need to provide the URL of the storage separately)
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
var blobOptions = new AzureBlobOptions
{
BaseUri = "{base URL of the storage account}",
Token = "{SAS token}",
DocumentContainer = "{blob container name}"
}
var azureBlobFileProvider = new AzureBlobFileProvider(blobOptions);
services.AddSingleton(azureBlobFileProvider);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
var blobFileProvider = app.ApplicationServices.GetRequiredService<AzureBlobFileProvider>();
app.UseStaticFiles(new StaticFileOptions()
{
FileProvider = blobFileProvider,
RequestPath = "/files"
});
app.UseDirectoryBrowser(new DirectoryBrowserOptions
{
FileProvider = blobFileProvider,
RequestPath = "/files"
});
}
}
In case both ConnectionString and Token are present, connection string is given the preference.
Current limitations
The watch functionality of the file provider is currently not supported.
Related Skills
node-connect
347.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
107.8kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
Languages
Security Score
Audited on Apr 1, 2026
