mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
Fix S3 Uploads with random paths
This commit is contained in:
parent
be65ec7c6b
commit
31aaf5876e
2 changed files with 9 additions and 8 deletions
|
@ -125,8 +125,10 @@ public override UploadResult Upload(Stream stream, string fileName)
|
||||||
args.Add("X-Amz-SignedHeaders", signedHeaders);
|
args.Add("X-Amz-SignedHeaders", signedHeaders);
|
||||||
|
|
||||||
string uploadPath = GetUploadPath(fileName);
|
string uploadPath = GetUploadPath(fileName);
|
||||||
if (forcePathStyle) uploadPath = URLHelpers.CombineURL(Settings.Bucket, uploadPath);
|
|
||||||
string canonicalURI = URLHelpers.AddSlash(uploadPath, SlashType.Prefix);
|
string canonicalURI = uploadPath;
|
||||||
|
if (forcePathStyle) canonicalURI = URLHelpers.CombineURL(Settings.Bucket, canonicalURI);
|
||||||
|
canonicalURI = URLHelpers.AddSlash(canonicalURI, SlashType.Prefix);
|
||||||
canonicalURI = URLHelpers.URLPathEncode(canonicalURI);
|
canonicalURI = URLHelpers.URLPathEncode(canonicalURI);
|
||||||
|
|
||||||
string canonicalQueryString = URLHelpers.CreateQuery(args);
|
string canonicalQueryString = URLHelpers.CreateQuery(args);
|
||||||
|
@ -176,7 +178,7 @@ public override UploadResult Upload(Stream stream, string fileName)
|
||||||
return new UploadResult
|
return new UploadResult
|
||||||
{
|
{
|
||||||
IsSuccess = true,
|
IsSuccess = true,
|
||||||
URL = GenerateURL(fileName)
|
URL = GenerateURL(uploadPath)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -221,18 +223,16 @@ private string GetRegion()
|
||||||
return serviceAndRegion.Substring(separatorIndex + 1);
|
return serviceAndRegion.Substring(separatorIndex + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetUploadPath(string fileName)
|
public string GetUploadPath(string fileName)
|
||||||
{
|
{
|
||||||
string path = NameParser.Parse(NameParserType.FolderPath, Settings.ObjectPrefix.Trim('/'));
|
string path = NameParser.Parse(NameParserType.FolderPath, Settings.ObjectPrefix.Trim('/'));
|
||||||
return URLHelpers.CombineURL(path, fileName);
|
return URLHelpers.CombineURL(path, fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GenerateURL(string fileName)
|
public string GenerateURL(string uploadPath)
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(Settings.Endpoint) && !string.IsNullOrEmpty(Settings.Bucket))
|
if (!string.IsNullOrEmpty(Settings.Endpoint) && !string.IsNullOrEmpty(Settings.Bucket))
|
||||||
{
|
{
|
||||||
string uploadPath = GetUploadPath(fileName);
|
|
||||||
|
|
||||||
string url;
|
string url;
|
||||||
|
|
||||||
if (Settings.UseCustomCNAME && !string.IsNullOrEmpty(Settings.CustomDomain))
|
if (Settings.UseCustomCNAME && !string.IsNullOrEmpty(Settings.CustomDomain))
|
||||||
|
|
|
@ -492,7 +492,8 @@ public void DropboxAuthComplete(string code)
|
||||||
|
|
||||||
private void UpdateAmazonS3Status()
|
private void UpdateAmazonS3Status()
|
||||||
{
|
{
|
||||||
lblAmazonS3PathPreview.Text = new AmazonS3(Config.AmazonS3Settings).GenerateURL("Example.png");
|
var s3 = new AmazonS3(Config.AmazonS3Settings);
|
||||||
|
lblAmazonS3PathPreview.Text = s3.GenerateURL(s3.GetUploadPath("Example.png"));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Amazon S3
|
#endregion Amazon S3
|
||||||
|
|
Loading…
Reference in a new issue