diff --git a/src/Cuiliang.AliyunOssSdk.csproj b/src/Cuiliang.AliyunOssSdk.csproj
index 5a46ce3..ea12bd2 100644
--- a/src/Cuiliang.AliyunOssSdk.csproj
+++ b/src/Cuiliang.AliyunOssSdk.csproj
@@ -6,6 +6,7 @@
Aliyun
Cuiliang
https://github.com/cnblogs/Cuiliang.AliyunOssSdk
+ true
diff --git a/src/Entites/BucketInfo.cs b/src/Entites/BucketInfo.cs
index 846867a..fb9623e 100644
--- a/src/Entites/BucketInfo.cs
+++ b/src/Entites/BucketInfo.cs
@@ -69,20 +69,27 @@ public static BucketInfo CreateByCname(Uri uri, string bucket)
///
public static BucketInfo CreateByRegion(string region, string bucketName, bool useHttps = false, bool useInternal = false)
{
- var baseDomain = useInternal? "-internal.aliyuncs.com" : ".aliyuncs.com";
- var method = useHttps ? "https://" : "http://";
+ var uriBuilder = new UriBuilder();
+ uriBuilder.Scheme = useHttps ? "https" : "http";
+ uriBuilder.Host = region + (useInternal ? "-internal.aliyuncs.com" : ".aliyuncs.com");
var bucket = new BucketInfo()
{
IsCname = false,
BucketName = bucketName,
- IsHttps = useHttps
+ IsHttps = useHttps,
+ EndpointUri = uriBuilder.Uri
};
- bucket.EndpointUri = new Uri(method + region + baseDomain);
-
- // bucket名称为空的情况,直接访问oss
- bucket.BucketUri = String.IsNullOrEmpty(bucketName)? bucket.EndpointUri : new Uri(method + bucketName + "." + region + baseDomain);
+ if(string.IsNullOrEmpty(bucketName))
+ {
+ bucket.BucketUri = bucket.EndpointUri;
+ }
+ else
+ {
+ uriBuilder.Host = bucketName + "." + uriBuilder.Host;
+ bucket.BucketUri = uriBuilder.Uri;
+ }
return bucket;
}
diff --git a/tests/Sample/Sample.csproj b/tests/Sample/Sample.csproj
index 00d727d..bcd29b4 100644
--- a/tests/Sample/Sample.csproj
+++ b/tests/Sample/Sample.csproj
@@ -1,9 +1,9 @@
Exe
- netcoreapp2.1
+ netcoreapp2.1
-
+
latest