file-storage

Abstract file storage behind a unified IFileStorage interface for .NET applications.

4|1|Updated Mar 15, 2026
One-click install
npx skills add https://github.com/FaysilAlshareef/dotnet-ai-kit --skill file-storage-faysilalshareef
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: file-storage
Source: https://github.com/FaysilAlshareef/dotnet-ai-kit/tree/main/skills/infra/file-storage
Command: npx skills add https://github.com/FaysilAlshareef/dotnet-ai-kit --skill file-storage-faysilalshareef

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Abstracts file storage concerns across Azure Blob Storage and local file systems, enabling a consistent interface for upload, download, and URL access.

Core Features & Use Cases

  • IFileStorage abstracts storage provider from application logic.
  • AzureBlobFileStorage and LocalFileStorage implementations for production and development.
  • SAS tokens for secure, time-limited access.
  • Structured paths: {container}/{entity-type}/{entity-id}/{filename}
  • Content type validation and maximum file size enforcement

Quick Start

Install and configure the storage services, then implement IFileStorage using LocalFileStorage in development and AzureBlobFileStorage in production.

Frequently Asked Questions about file-storage

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I abstract file storage across local development and Azure Blob Storage in .NET?

This Skill abstracts file storage by providing a unified IFileStorage interface with LocalFileStorage for development and AzureBlobFileStorage for production, hiding the physical provider from application logic.

What is the best way to secure Azure Blob Storage access for file uploads?

Securing Azure Blob Storage file uploads is handled using SAS tokens, which provide secure, time-limited access to resources without exposing account keys.

Does this storage abstraction support content-type validation and file size limits?

Yes, the storage abstraction supports content-type validation and maximum file size enforcement to ensure only valid files are uploaded to either Azure Blob Storage or local file systems.

How do I structure file paths when uploading to Azure Blob Storage?

File paths are structured using the conventional format {container}/{entity-type}/{entity-id}/{filename}, applied automatically to maintain organized storage across both local and Azure providers.

Can I switch storage providers without changing application code?

You can switch storage providers through configuration-based provider selection, allowing you to toggle between LocalFileStorage and AzureBlobFileStorage without modifying application logic.