Skip to content

Commit 335e60f

Browse files
authored
Merge pull request #8 from cnblogs/check-file-path
Throw ArgumentException if file path starts with slash
2 parents 82fd5e6 + e644b4e commit 335e60f

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/OssClient.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Diagnostics;
34
using System.IO;
45
using System.Linq;
56
using System.Net;
@@ -58,11 +59,14 @@ public async Task<OssResult<ListBucketsResult>> ListBucketsAsync(string region)
5859
/// <returns></returns>
5960
public async Task<OssResult<PutObjectResult>> PutObjectAsync(BucketInfo bucket, string key, RequestContent file, IDictionary<string, string> extraHeaders = null)
6061
{
62+
if (key.StartsWith("/"))
63+
throw new ArgumentException($"{nameof(key)} can not start with '/'");
64+
6165
var cmd = new PutObjectCommand(_requestContext, bucket, key, file, extraHeaders);
6266

6367
var result = await cmd.ExecuteAsync(_client);
6468

65-
if(!result.IsSuccess)
69+
if (!result.IsSuccess)
6670
{
6771
_logger.LogError($"Failed in OssClient.{nameof(PutObjectAsync)}(). \nBucket: {bucket.BucketName}\nPath: {key}");
6872
}
@@ -197,7 +201,7 @@ public async Task<OssResult<DeleteObjectResult>> DeleteObjectAsync(BucketInfo bu
197201
{
198202
var cmd = new DeleteObjectCommand(_requestContext, bucket, key);
199203

200-
var result = await cmd.ExecuteAsync(_client);
204+
var result = await cmd.ExecuteAsync(_client);
201205

202206
if (!result.IsSuccess)
203207
{

0 commit comments

Comments
 (0)