string endpoint = ConfigurationManager.AppSettings["aliyun-oss-endpoint"];
string accessKey = ConfigurationManager.AppSettings["aliyun-oss-access-key"];
string accessSecret = ConfigurationManager.AppSettings["aliyun-oss-access-secret"];
string bucketName = ConfigurationManager.AppSettings["aliyun-oss-bucket"];
OssClient client = new OssClient(endpoint, accessKey, accessSecret);
string fileToUpload = @"C:\Users\user\Pictures\ad2.jpg";
string key = null;
#region 小文件
Console.WriteLine("小文件测试:");
Stopwatch watch = Stopwatch.StartNew();
string md5 = null;
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
ObjectMetadata meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
#endregion
Console.WriteLine("-----------------------------");
#region 覆盖文件
Console.WriteLine("覆盖测试:");
watch.Restart();
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
#endregion
Console.WriteLine("-----------------------------");
#region 大文件
Console.WriteLine("大文件:big.jpg");
fileToUpload = @"C:\Users\user\Pictures\big.jpg";
watch.Restart();
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
Console.WriteLine("大文件:big2.jpg");
fileToUpload = @"C:\Users\user\Pictures\big2.jpg";
watch.Restart();
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
Console.WriteLine("大文件:big3.jpg");
fileToUpload = @"C:\Users\user\Pictures\big3.jpg";
watch.Restart();
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
Console.WriteLine("大文件:big4.jpg");
fileToUpload = @"C:\Users\user\Pictures\big4.jpg";
watch.Restart();
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
Console.WriteLine("大文件:big5.jpg");
fileToUpload = @"C:\Users\user\Pictures\big5.jpg";
watch.Restart();
using (var fs = File.Open(fileToUpload, FileMode.Open))
{
md5 = OssUtils.ComputeContentMd5(fs, fs.Length);
Console.WriteLine("文件大小:{0:N}b", fs.Length);
}
key = SecureHelper.MD5(md5);
meta = new ObjectMetadata() { ContentMd5 = md5 };
try
{
client.PutObject(bucketName, key, fileToUpload, meta);
watch.Stop();
Console.WriteLine("Put object:{0} succeeded,用时:{1}ms", key, watch.ElapsedMilliseconds);
}
catch (OssException ex)
{
Console.WriteLine("Failed with error code: {0}; Error info: {1}. \nRequestID:{2}\tHostID:{3}",
ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
return;
}
catch (Exception ex)
{
Console.WriteLine("Failed with error info: {0}", ex.Message);
return;
}
#endregion
结果:
ji