16 votes

Azure Blob Storage Provider

NEW package UmbracoFileSystemProviders.Azure is online!

see: https://our.umbraco.org/projects/collaboration/umbracofilesystemprovidersazure/

I recommend it instead of this, especially if you are on Umbraco 7.3 or higher. It solves a lot of issues you would otherwise have in the back office.

 

************************************************************************************************

Store media files in Azure Storage

This package installs a new FileSystemProvider for storing media files in an Microsoft Azure Storage instead of the local (to the Umbraco installation) file system.

If you are using Umbraco version 7.2.x you might get a red alter message "Binary file errors detected". You can ignore this.

Within a default Umbraco installation there is only the upload data type effected by this provider. But other package may use the new provider for storing files like the Image Cropper Extended.

This package does not effect css or javascript files or back office images like document icons. 

After installing the package you have to configure the file system provider for your Azure Storage Account in umbraco. Open file ~/config/FileSystemProviders.config and edit the settings for the media provider.
Here is an example config:

<?xml version="1.0"?>
<FileSystemProviders>

    <!-- Media -->
    <!-- parameters order is important ! -->
    <!-- place this in your umbraco instanze in the /config folder -->
    
    <Provider alias="media"
              type="idseefeld.de.UmbracoAzure.AzureBlobFileSystem, idseefeld.de.UmbracoAzure">
        <Parameters>
            <add key="containerName" value="media" />
            <add key="rootUrl" value="http://[myAccountName].blob.core.windows.net/" />
            <add key="connectionString" value="DefaultEndpointsProtocol=https;AccountName=[myAccountName];AccountKey=[myAccountKey]"/>
    <add key="mimetypes" value="" />
    <add key="cacheControl" value="*|public, max-age=31536000;js|no-cache" />
        </Parameters>
    </Provider>

</FileSystemProviders>

Please be aware that you can not mix this provider with the default provider.
Thus you should only use it in new solutions with no uploaded files.

Works well with ImageProcessor.Web plugin for Azure cache: 
http://imageprocessor.org/imageprocessor-web/plugins/azure-blob-cache/
Find some usefull help at the end of UmbracoAzureBlobStorage-Documentation.pdf.

Known Issues

CropUp package does not work properly with this package.

Copy of document types with upload field does not work!
The reason lies in core methods as reported here: http://issues.umbraco.org/issue/U4-3838
Please vote for this issue if you need this functionality.
Until this is not fixed my advice is not to use upload fields on document types.
Hurray! In version 7.1.5 this will be fixed.

History

Version 1.0.10.4 add appSetting to web.config toggles use of Windows Azure Storage Emulator.

Version 1.0.10.3 fix for backward compatibility or missing cache-control settings.

Version 1.0.10 adds configuration for cache-control settings by file types. The mimetypes configuration is obsolete as these are taken from IIS configuration directly.

Version 1.0.9 fixes an issue for Umbraco version 7.2.4 where the size property of an media item is not set.

Version 1.0.8 adds a work-a-round for the deletion issue caused by the bug previous to version 1.0.5. For more details read documentation.

Version 1.0.7 mimetypes can be configured.

Version 1.0.6 fix for SDK's dev storage emulator and additional upload headers for mimetypes (jpg, png and gif).

IMPORTANT Version 1.0.5 fixes a sever bug within the media folder numbering. If you are using one the previous versions you should update immediately. For further details please refer to http://github.com/idseefeld/UmbracoAzureBlobStorage/issues/1

Version 1.0.4 fixes a bug reported by Nicklas Gavelin, where under specific conditions all files in the blob are deleted. This should not happen through normal use in Umbraco. For more details visit project on GitHub: http://github.com/idseefeld/UmbracoAzureBlobStorage

Version 1.0.3 adds a little caching. Many thanks goes to Lars-Erik Aabech

Version 1.0.2 fixes an issue while copying a content node with an upload property. This fix also requires a core fix what is beyond the scope of this package. Watch http://issues.umbraco.org/issue/U4-3154 for updates.

Version 1.0.1 adds a sample config file and fixes the package description.

 

Screenshots

Project owner

Dirk Seefeld

Dirk Seefeld

Dirk has 581 karma points

Project Compatibility

This project is compatible with the following versions as reported by community members who have downloaded this package:
Untested or doesn't work on Umbraco Cloud
7.11.x (untested)
7.10.x (untested)
7.9.x (untested)
7.8.x (untested)
7.7.x (untested)
7.6.x (untested)
7.5.x (100%)
7.4.x (100%)
7.3.x (untested)
7.2.x (100%)
7.1.x (100%)
7.0.x (50%)
6.1.x (100%)
6.0.x (untested)

You must login before you can report on package compatibility.

Project Information

  • Project owner: Dirk Seefeld
  • Created: 19/10/2013
  • Current version 1.0.10.4
  • .net Version 4.0
  • License MIT
  • Downloads: 3605

External resources