SQL Blob Provider: Store your blobs in the database
A new package is available on the EPiServer nuget feed: EPiCode.SqlBlobProvider. This is a blob provider that enables storing of blobs in the database, rather than on disk.
Why is this useful?
- Perfect for load balanced environments, as you will not need a file share or similar to handle distribution of files between servers
- Great for development teams who share a database
- Easier to deploy: No need to copy blob files when doing a deploy or migration to another environment. No need of putting them in source control either for that matter
- When you bring back the database from production to your development environment for that next feature you're doing, you get all the files too
- Should also work fine for EPiServer Commerce
Install the NuGet package, and your are good to go. EPiServerFramework.config should be automatically transformed with the correct blob provider settings. If you need to change it manually, simply add the following to EPiServerFramework.config:
If you are installing the SqlBlobProvider in an existing project that already uses the standard file blob provider, you will need to convert existing FileBlobs into SqlBlobs. This can easily be done with EPiCode.BlobConverter, which is another new package in the feed. The package contains a scheduled job (aka. BlobJob), which will convert all file blobs into the currently configured blob type. The conversion tool is not restricted to the SqlBlobProvider, so you could use it for other blob types as well.
Tip: If you are upgrading to EPiServer 7.5, and migrating VPP-based files to the new media system and want to use the SQL blob provider, make sure that the provider is installed prior before running the EPiServer VPP migration tool. This way, the VPP-files will be directly migrated to SQL blobs.
This is an open source module and full source code is available on EPiCode: