mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-03 02:36:50 +13:00
commit
b13e52500b
5 changed files with 187 additions and 27 deletions
|
@ -51,7 +51,7 @@ public override bool CheckConfig(UploadersConfig config)
|
|||
|
||||
public override GenericUploader CreateUploader(UploadersConfig config, TaskReferenceHelper taskInfo)
|
||||
{
|
||||
return new AzureStorage(config.AzureStorageAccountName, config.AzureStorageAccountAccessKey, config.AzureStorageContainer, config.AzureStorageEnvironment, config.AzureStorageCustomDomain);
|
||||
return new AzureStorage(config.AzureStorageAccountName, config.AzureStorageAccountAccessKey, config.AzureStorageContainer, config.AzureStorageEnvironment, config.AzureStorageCustomDomain, config.AzureStorageUploadPath, config.AzureStorageExcludeContainer);
|
||||
}
|
||||
|
||||
public override TabPage GetUploadersConfigTabPage(UploadersConfigForm form) => form.tpAzureStorage;
|
||||
|
@ -66,14 +66,18 @@ public sealed class AzureStorage : FileUploader
|
|||
public string AzureStorageContainer { get; private set; }
|
||||
public string AzureStorageEnvironment { get; private set; }
|
||||
public string AzureStorageCustomDomain { get; private set; }
|
||||
public string AzureStorageUploadPath { get; private set; }
|
||||
public bool AzureStorageExcludeContainer { get; private set; }
|
||||
|
||||
public AzureStorage(string azureStorageAccountName, string azureStorageAccessKey, string azureStorageContainer, string azureStorageEnvironment, string customDomain)
|
||||
public AzureStorage(string azureStorageAccountName, string azureStorageAccessKey, string azureStorageContainer, string azureStorageEnvironment, string customDomain, string uploadPath, bool excludeContainer)
|
||||
{
|
||||
AzureStorageAccountName = azureStorageAccountName;
|
||||
AzureStorageAccountAccessKey = azureStorageAccessKey;
|
||||
AzureStorageContainer = azureStorageContainer;
|
||||
AzureStorageEnvironment = (!string.IsNullOrEmpty(azureStorageEnvironment)) ? azureStorageEnvironment : "blob.core.windows.net";
|
||||
AzureStorageCustomDomain = customDomain;
|
||||
AzureStorageUploadPath = uploadPath;
|
||||
AzureStorageExcludeContainer = excludeContainer;
|
||||
}
|
||||
|
||||
public override UploadResult Upload(Stream stream, string fileName)
|
||||
|
@ -90,7 +94,16 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
CreateContainerIfNotExists();
|
||||
|
||||
string date = DateTime.UtcNow.ToString("R", CultureInfo.InvariantCulture);
|
||||
string url = $"https://{AzureStorageAccountName}.{AzureStorageEnvironment}/{AzureStorageContainer}/{fileName}";
|
||||
string targetPath = GetUploadPath(fileName);
|
||||
string url;
|
||||
if (AzureStorageContainer == "$root")
|
||||
{
|
||||
url = $"https://{AzureStorageAccountName}.{AzureStorageEnvironment}/{targetPath}";
|
||||
}
|
||||
else
|
||||
{
|
||||
url = $"https://{AzureStorageAccountName}.{AzureStorageEnvironment}/{AzureStorageContainer}/{targetPath}";
|
||||
}
|
||||
string contentType = Helpers.GetMimeType(fileName);
|
||||
|
||||
NameValueCollection requestHeaders = new NameValueCollection();
|
||||
|
@ -99,7 +112,15 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
requestHeaders["x-ms-blob-type"] = "BlockBlob";
|
||||
|
||||
string canonicalizedHeaders = $"x-ms-blob-type:BlockBlob\nx-ms-date:{date}\nx-ms-version:{APIVersion}\n";
|
||||
string canonicalizedResource = $"/{AzureStorageAccountName}/{AzureStorageContainer}/{fileName}";
|
||||
string canonicalizedResource;
|
||||
if (AzureStorageContainer == "$root")
|
||||
{
|
||||
canonicalizedResource = $"/{AzureStorageAccountName}/{targetPath}";
|
||||
}
|
||||
else
|
||||
{
|
||||
canonicalizedResource = $"/{AzureStorageAccountName}/{AzureStorageContainer}/{targetPath}";
|
||||
}
|
||||
string stringToSign = GenerateStringToSign(canonicalizedHeaders, canonicalizedResource, stream.Length.ToString(), contentType);
|
||||
|
||||
requestHeaders["Authorization"] = $"SharedKey {AzureStorageAccountName}:{stringToSign}";
|
||||
|
@ -112,7 +133,14 @@ public override UploadResult Upload(Stream stream, string fileName)
|
|||
|
||||
if (!string.IsNullOrEmpty(AzureStorageCustomDomain))
|
||||
{
|
||||
result = URLHelpers.CombineURL(AzureStorageCustomDomain, AzureStorageContainer, fileName);
|
||||
if (AzureStorageExcludeContainer)
|
||||
{
|
||||
result = URLHelpers.CombineURL(AzureStorageCustomDomain, targetPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = URLHelpers.CombineURL(AzureStorageCustomDomain, AzureStorageContainer, targetPath);
|
||||
}
|
||||
result = URLHelpers.FixPrefix(result);
|
||||
}
|
||||
else
|
||||
|
@ -224,5 +252,18 @@ private string HashRequest(string stringToSign)
|
|||
|
||||
return hashedString;
|
||||
}
|
||||
|
||||
private string GetUploadPath(string fileName)
|
||||
{
|
||||
if (!String.IsNullOrEmpty(AzureStorageUploadPath))
|
||||
{
|
||||
string path = NameParser.Parse(NameParserType.FolderPath, AzureStorageUploadPath.Trim('/'));
|
||||
return URLHelpers.CombineURL(path, fileName);
|
||||
}
|
||||
else
|
||||
{
|
||||
return fileName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -309,6 +309,9 @@ private void InitializeComponent()
|
|||
this.txtGoogleCloudStorageBucket = new System.Windows.Forms.TextBox();
|
||||
this.oauth2GoogleCloudStorage = new ShareX.UploadersLib.OAuthControl();
|
||||
this.tpAzureStorage = new System.Windows.Forms.TabPage();
|
||||
this.cbAzureStorageExcludeContainer = new System.Windows.Forms.CheckBox();
|
||||
this.txtAzureStorageUploadPath = new System.Windows.Forms.TextBox();
|
||||
this.lblAzureStorageUploadPath = new System.Windows.Forms.Label();
|
||||
this.cbAzureStorageEnvironment = new System.Windows.Forms.ComboBox();
|
||||
this.lblAzureStorageEnvironment = new System.Windows.Forms.Label();
|
||||
this.btnAzureStoragePortal = new System.Windows.Forms.Button();
|
||||
|
@ -2830,6 +2833,9 @@ private void InitializeComponent()
|
|||
// tpAzureStorage
|
||||
//
|
||||
this.tpAzureStorage.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.tpAzureStorage.Controls.Add(this.cbAzureStorageExcludeContainer);
|
||||
this.tpAzureStorage.Controls.Add(this.txtAzureStorageUploadPath);
|
||||
this.tpAzureStorage.Controls.Add(this.lblAzureStorageUploadPath);
|
||||
this.tpAzureStorage.Controls.Add(this.cbAzureStorageEnvironment);
|
||||
this.tpAzureStorage.Controls.Add(this.lblAzureStorageEnvironment);
|
||||
this.tpAzureStorage.Controls.Add(this.btnAzureStoragePortal);
|
||||
|
@ -2844,6 +2850,24 @@ private void InitializeComponent()
|
|||
resources.ApplyResources(this.tpAzureStorage, "tpAzureStorage");
|
||||
this.tpAzureStorage.Name = "tpAzureStorage";
|
||||
//
|
||||
// cbAzureStorageExcludeContainer
|
||||
//
|
||||
resources.ApplyResources(this.cbAzureStorageExcludeContainer, "cbAzureStorageExcludeContainer");
|
||||
this.cbAzureStorageExcludeContainer.Name = "cbAzureStorageExcludeContainer";
|
||||
this.cbAzureStorageExcludeContainer.UseVisualStyleBackColor = true;
|
||||
this.cbAzureStorageExcludeContainer.CheckedChanged += new System.EventHandler(this.cbAzureStorageExcludeContainer_CheckedChanged);
|
||||
//
|
||||
// txtAzureStorageUploadPath
|
||||
//
|
||||
resources.ApplyResources(this.txtAzureStorageUploadPath, "txtAzureStorageUploadPath");
|
||||
this.txtAzureStorageUploadPath.Name = "txtAzureStorageUploadPath";
|
||||
this.txtAzureStorageUploadPath.TextChanged += new System.EventHandler(this.txtAzureStorageUploadPath_TextChanged);
|
||||
//
|
||||
// lblAzureStorageUploadPath
|
||||
//
|
||||
resources.ApplyResources(this.lblAzureStorageUploadPath, "lblAzureStorageUploadPath");
|
||||
this.lblAzureStorageUploadPath.Name = "lblAzureStorageUploadPath";
|
||||
//
|
||||
// cbAzureStorageEnvironment
|
||||
//
|
||||
this.cbAzureStorageEnvironment.FormattingEnabled = true;
|
||||
|
@ -6082,6 +6106,9 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.ListBox lbSharedFolderAccounts;
|
||||
private System.Windows.Forms.Label lblGoogleCloudStoragePathPreviewLabel;
|
||||
private System.Windows.Forms.Label lblGoogleCloudStoragePathPreview;
|
||||
private System.Windows.Forms.TextBox txtAzureStorageUploadPath;
|
||||
private System.Windows.Forms.Label lblAzureStorageUploadPath;
|
||||
private System.Windows.Forms.CheckBox cbAzureStorageExcludeContainer;
|
||||
private System.Windows.Forms.Label lblFirebaseDomain;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -667,6 +667,8 @@ public void LoadSettings()
|
|||
txtAzureStorageContainer.Text = Config.AzureStorageContainer;
|
||||
cbAzureStorageEnvironment.Text = Config.AzureStorageEnvironment;
|
||||
txtAzureStorageCustomDomain.Text = Config.AzureStorageCustomDomain;
|
||||
txtAzureStorageUploadPath.Text = Config.AzureStorageUploadPath;
|
||||
cbAzureStorageExcludeContainer.Checked = Config.AzureStorageExcludeContainer;
|
||||
|
||||
#endregion Azure Storage
|
||||
|
||||
|
@ -2870,6 +2872,16 @@ private void txtAzureStorageCustomDomain_TextChanged(object sender, EventArgs e)
|
|||
Config.AzureStorageCustomDomain = txtAzureStorageCustomDomain.Text;
|
||||
}
|
||||
|
||||
private void txtAzureStorageUploadPath_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Config.AzureStorageUploadPath = txtAzureStorageUploadPath.Text;
|
||||
}
|
||||
|
||||
private void cbAzureStorageExcludeContainer_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
Config.AzureStorageExcludeContainer = cbAzureStorageExcludeContainer.Checked;
|
||||
}
|
||||
|
||||
private void btnAzureStoragePortal_Click(object sender, EventArgs e)
|
||||
{
|
||||
URLHelpers.OpenURL("https://portal.azure.com/?feature.customportal=false#blade/HubsExtension/Resources/resourceType/Microsoft.Storage%2FStorageAccounts");
|
||||
|
|
|
@ -3537,7 +3537,7 @@ store.book[0].title</value>
|
|||
<value>3, 3, 3, 3</value>
|
||||
</data>
|
||||
<data name="tpFirebaseDynamicLinks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>972, 537</value>
|
||||
<value>178, 42</value>
|
||||
</data>
|
||||
<data name="tpFirebaseDynamicLinks.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>7</value>
|
||||
|
@ -7279,6 +7279,84 @@ store.book[0].title</value>
|
|||
<data name=">>tpGoogleCloudStorage.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageExcludeContainer.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageExcludeContainer.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageExcludeContainer.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 299</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageExcludeContainer.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>230, 17</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageExcludeContainer.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageExcludeContainer.Text" xml:space="preserve">
|
||||
<value>Exclude container name from returned URL</value>
|
||||
</data>
|
||||
<data name=">>cbAzureStorageExcludeContainer.Name" xml:space="preserve">
|
||||
<value>cbAzureStorageExcludeContainer</value>
|
||||
</data>
|
||||
<data name=">>cbAzureStorageExcludeContainer.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>cbAzureStorageExcludeContainer.Parent" xml:space="preserve">
|
||||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>cbAzureStorageExcludeContainer.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageUploadPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 223</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageUploadPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>526, 20</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageUploadPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageUploadPath.Name" xml:space="preserve">
|
||||
<value>txtAzureStorageUploadPath</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageUploadPath.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageUploadPath.Parent" xml:space="preserve">
|
||||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageUploadPath.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageUploadPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageUploadPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 207</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageUploadPath.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>100, 13</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageUploadPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageUploadPath.Text" xml:space="preserve">
|
||||
<value>Upload Path:</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageUploadPath.Name" xml:space="preserve">
|
||||
<value>lblAzureStorageUploadPath</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageUploadPath.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageUploadPath.Parent" xml:space="preserve">
|
||||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageUploadPath.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="cbAzureStorageEnvironment.Items" xml:space="preserve">
|
||||
<value>blob.core.windows.net</value>
|
||||
</data>
|
||||
|
@ -7310,7 +7388,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>cbAzureStorageEnvironment.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageEnvironment.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -7340,7 +7418,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageEnvironment.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="btnAzureStoragePortal.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
|
@ -7352,7 +7430,7 @@ store.book[0].title</value>
|
|||
<value>24, 24</value>
|
||||
</data>
|
||||
<data name="btnAzureStoragePortal.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>6</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="btnAzureStoragePortal.Text" xml:space="preserve">
|
||||
<value>...</value>
|
||||
|
@ -7367,7 +7445,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>btnAzureStoragePortal.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageContainer.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 128</value>
|
||||
|
@ -7376,7 +7454,7 @@ store.book[0].title</value>
|
|||
<value>526, 20</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageContainer.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>5</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageContainer.Name" xml:space="preserve">
|
||||
<value>txtAzureStorageContainer</value>
|
||||
|
@ -7388,7 +7466,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageContainer.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageContainer.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -7403,7 +7481,7 @@ store.book[0].title</value>
|
|||
<value>55, 13</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageContainer.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageContainer.Text" xml:space="preserve">
|
||||
<value>Container:</value>
|
||||
|
@ -7418,7 +7496,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageContainer.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageAccessKey.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 80</value>
|
||||
|
@ -7427,7 +7505,7 @@ store.book[0].title</value>
|
|||
<value>526, 20</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageAccessKey.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageAccessKey.Name" xml:space="preserve">
|
||||
<value>txtAzureStorageAccessKey</value>
|
||||
|
@ -7439,7 +7517,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageAccessKey.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageAccessKey.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -7457,7 +7535,7 @@ store.book[0].title</value>
|
|||
<value>65, 13</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageAccessKey.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageAccessKey.Text" xml:space="preserve">
|
||||
<value>Access key:</value>
|
||||
|
@ -7472,7 +7550,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageAccessKey.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageAccountName.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 32</value>
|
||||
|
@ -7493,7 +7571,7 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageAccountName.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageAccountName.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -7526,16 +7604,16 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageAccountName.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageCustomDomain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 222</value>
|
||||
<value>16, 273</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageCustomDomain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>526, 20</value>
|
||||
</data>
|
||||
<data name="txtAzureStorageCustomDomain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>9</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageCustomDomain.Name" xml:space="preserve">
|
||||
<value>txtAzureStorageCustomDomain</value>
|
||||
|
@ -7547,19 +7625,19 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>txtAzureStorageCustomDomain.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageCustomDomain.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageCustomDomain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 206</value>
|
||||
<value>13, 257</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageCustomDomain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>100, 13</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageCustomDomain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>10</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="lblAzureStorageCustomDomain.Text" xml:space="preserve">
|
||||
<value>Custom Domain:</value>
|
||||
|
@ -7574,10 +7652,10 @@ store.book[0].title</value>
|
|||
<value>tpAzureStorage</value>
|
||||
</data>
|
||||
<data name=">>lblAzureStorageCustomDomain.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="tpAzureStorage.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 202</value>
|
||||
<value>4, 40</value>
|
||||
</data>
|
||||
<data name="tpAzureStorage.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>3, 3, 3, 3</value>
|
||||
|
|
|
@ -372,6 +372,8 @@ public class UploadersConfig : SettingsBase<UploadersConfig>
|
|||
public string AzureStorageContainer = "";
|
||||
public string AzureStorageEnvironment = "blob.core.windows.net";
|
||||
public string AzureStorageCustomDomain = "";
|
||||
public string AzureStorageUploadPath = "";
|
||||
public bool AzureStorageExcludeContainer = false;
|
||||
|
||||
#endregion Azure Storage
|
||||
|
||||
|
|
Loading…
Reference in a new issue