HomeDev GuideRecipesAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityOptimizely AcademySubmit a ticketLog In
Dev Guide

Configure a custom BLOB provider

Define custom BLOB providers for Optimizely CMS 13. Configure them via appsettings.json or programmatically during site configuration for flexible storage.

Custom BLOB providers let you direct binary storage to your preferred backend, such as Azure or AWS, instead of the default file system.

Add a BlobProviders section in appsettings.json under the episerver/cms element to define a custom provider:

{
  "EPiServer": {
    "Cms": {
      "BlobProviders": {
        "DefaultProvider": "Custom",
        "Providers": {
          "Custom": "CustomProvider, Customassembly",
          "Another": "Another_CustomProvider, Customassembly"
        }
      }
    }
  }
}

Add the BLOB provider programmatically during the site configuration phase by using IServiceCollection or by configuring the BlobProvidersOptions class directly.

public void ConfigureServices(IServiceCollection services) {
  // This provider will be added as the default
  services.AddFileBlobProvider("myFileBlobProvider", @ "c:\path\to\file\blobs");
  services.AddBlobProvider<MyCustomBlobProvider>("myCustomBlobProvider", defaultProvider: false);
  services.Configure<BlobProvidersOptions>(o => {
    o.AddProvider<MyCustomBlobProvider>("anotherCustomBlobProvider");
    o.DefaultProvider = "anotherCustomBlobProvider";
  });
}