mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
#4253: Made Azure Blob Storage container names configurable.
Fixes #4253
This commit is contained in:
@@ -2,13 +2,15 @@
|
||||
|
||||
public class Constants {
|
||||
public const string ShellSettingsStorageConnectionStringSettingName = "Orchard.Azure.Settings.StorageConnectionString";
|
||||
public const string ShellSettingsContainerName = "sites"; // Container names must be lower case.
|
||||
public const string ShellSettingsContainerNameSettingName = "Orchard.Azure.Settings.ContainerName";
|
||||
public const string ShellSettingsDefaultContainerName = "sites"; // Container names must be lower case.
|
||||
public const string ShellSettingsFileName = "Settings.txt";
|
||||
|
||||
public const string MediaStorageFeatureName = "Orchard.Azure.Media";
|
||||
public const string MediaStorageStorageConnectionStringSettingName = "Orchard.Azure.Media.StorageConnectionString";
|
||||
public const string MediaStorageRootFolderPathSettingName = "Orchard.Azure.Media.RootFolderPath";
|
||||
public const string MediaStorageContainerName = "media"; // Container names must be lower case.
|
||||
public const string MediaStorageContainerNameSettingName = "Orchard.Azure.Media.ContainerName";
|
||||
public const string MediaStorageDefaultContainerName = "media"; // Container names must be lower case.
|
||||
public const string MediaStoragePublicHostName = "Orchard.Azure.Media.StoragePublicHostName";
|
||||
|
||||
public const string OutputCacheFeatureName = "Orchard.Azure.OutputCache";
|
||||
|
@@ -20,7 +20,11 @@ namespace Orchard.Azure.Services.Environment.Configuration {
|
||||
private readonly IShellSettingsManagerEventHandler _events;
|
||||
|
||||
public AzureBlobShellSettingsManager(IMimeTypeProvider mimeTypeProvider, IShellSettingsManagerEventHandler events) {
|
||||
_fileSystem = new AzureFileSystem(CloudConfigurationManager.GetSetting(Constants.ShellSettingsStorageConnectionStringSettingName), Constants.ShellSettingsContainerName, String.Empty, true, mimeTypeProvider);
|
||||
var connectionString = CloudConfigurationManager.GetSetting(Constants.ShellSettingsStorageConnectionStringSettingName);
|
||||
var containerName = CloudConfigurationManager.GetSetting(Constants.ShellSettingsContainerNameSettingName);
|
||||
if (String.IsNullOrEmpty(containerName))
|
||||
containerName = Constants.ShellSettingsDefaultContainerName;
|
||||
_fileSystem = new AzureFileSystem(connectionString, containerName, String.Empty, true, mimeTypeProvider);
|
||||
_events = events;
|
||||
Logger = NullLogger.Instance;
|
||||
}
|
||||
|
@@ -11,12 +11,15 @@ namespace Orchard.Azure.Services.FileSystems.Media {
|
||||
[OrchardSuppressDependency("Orchard.FileSystems.Media.FileSystemStorageProvider")]
|
||||
public class AzureBlobStorageProvider : AzureFileSystem, IStorageProvider {
|
||||
|
||||
public AzureBlobStorageProvider(ShellSettings shellSettings, IMimeTypeProvider mimeTypeProvider, IPlatformConfigurationAccessor pca)
|
||||
: this(pca.GetSetting(Constants.MediaStorageStorageConnectionStringSettingName, shellSettings.Name, null),
|
||||
Constants.MediaStorageContainerName,
|
||||
pca.GetSetting(Constants.MediaStorageRootFolderPathSettingName, shellSettings.Name, null) ?? shellSettings.Name,
|
||||
public AzureBlobStorageProvider(
|
||||
ShellSettings shellSettings,
|
||||
IMimeTypeProvider mimeTypeProvider,
|
||||
IPlatformConfigurationAccessor platformConfigurationAccessor)
|
||||
: this(platformConfigurationAccessor.GetSetting(Constants.MediaStorageStorageConnectionStringSettingName, shellSettings.Name, null),
|
||||
platformConfigurationAccessor.GetSetting(Constants.MediaStorageContainerNameSettingName, shellSettings.Name, null) ?? Constants.MediaStorageDefaultContainerName,
|
||||
platformConfigurationAccessor.GetSetting(Constants.MediaStorageRootFolderPathSettingName, shellSettings.Name, null) ?? shellSettings.Name,
|
||||
mimeTypeProvider,
|
||||
pca.GetSetting(Constants.MediaStoragePublicHostName, shellSettings.Name, null))
|
||||
platformConfigurationAccessor.GetSetting(Constants.MediaStoragePublicHostName, shellSettings.Name, null))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -26,10 +29,10 @@ namespace Orchard.Azure.Services.FileSystems.Media {
|
||||
|
||||
public bool TrySaveStream(string path, Stream inputStream) {
|
||||
try {
|
||||
if (FileExists(path)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (FileExists(path)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
SaveStream(path, inputStream);
|
||||
}
|
||||
catch {
|
||||
|
Reference in New Issue
Block a user