Azure Blob Storage provider for Umbraco temporary files. Offloads temporary file storage during media uploads and other operations to Azure Blob Storage.
$ dotnet add package Mole.StorageProviders.AzureBlob.TemporaryFileAzure Blob Storage provider for temporary file uploads in Umbraco CMS. This package enables Umbraco deployments to store temporary uploaded files in Azure Blob Storage instead of local disk, eliminating filesystem dependencies for uploaded content.
When running Umbraco in containers (Docker, Kubernetes, Azure Container Instances, etc.), storing files on the local filesystem creates challenges, especially when load balancing:
This package solves these problems by redirecting temporary file uploads to Azure Blob Storage, making your Umbraco deployment truly stateless and container-friendly.
Install via NuGet Package Manager:
dotnet add package Mole.StorageProviders.AzureBlob.TemporaryFile
Add your Azure Blob Storage connection string to appsettings.json:
{
"Umbraco": {
"Storage": {
"AzureBlob": {
"TemporaryFile": {
"ConnectionString": "DefaultEndpointsProtocol=https;AccountName=your-account;AccountKey=your-key;EndpointSuffix=core.windows.net",
"ContainerName": "umbraco-temp-uploads"
}
}
}
}
}
The ContainerName is optional and defaults to tempfiles
Security Note: For production environments, use Azure Key Vault, Managed Identity, or environment variables instead of storing connection strings in configuration files.
This package starts at version 17 to align with Umbraco's versioning scheme and other storage provider packages. This makes it easier to identify which version to install based on your Umbraco version. For example, version 17.x is compatible with Umbraco 17.
This package implements Umbraco's ITemporaryFileRepository interface, redirecting all temporary file operations to Azure Blob Storage. When files are uploaded through the Umbraco backoffice, they're stored in your configured Azure Blob container instead of the local ~/umbraco/Data/TEMP folder.
Contributions are welcome! Please feel free to submit issues, fork the repository, and create pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
For issues, questions, or feature requests, please open an issue on the GitHub repository.