|
@@ -19,6 +19,8 @@ namespace libfisp
|
|
|
|
|
|
var config = new CosXmlConfig.Builder()
|
|
|
.SetRegion(region)
|
|
|
+ .SetConnectionTimeoutMs(10000)
|
|
|
+ .SetReadWriteTimeoutMs(10000)
|
|
|
.SetDebugLog(true)
|
|
|
.Build();
|
|
|
|
|
@@ -75,39 +77,45 @@ namespace libfisp
|
|
|
var deleteTask = new DeleteTask();
|
|
|
Task.Run(() =>
|
|
|
{
|
|
|
- var isSuccess = true;
|
|
|
- var getRequest = new COSXML.Model.Bucket.GetBucketRequest(_bucket);
|
|
|
- getRequest.SetPrefix(folderName);
|
|
|
- var getResult = _cosXml.GetBucket(getRequest);
|
|
|
- if (getResult.IsSuccessful())
|
|
|
+ try
|
|
|
{
|
|
|
- var files = getResult.listBucket.contentsList.Select(x => x.key).ToArray();
|
|
|
- for (var i = 0; i < files.Length; i++)
|
|
|
+ var isSuccess = true;
|
|
|
+ var getRequest = new COSXML.Model.Bucket.GetBucketRequest(_bucket);
|
|
|
+ getRequest.SetPrefix(folderName);
|
|
|
+ var getResult = _cosXml.GetBucket(getRequest);
|
|
|
+ if (getResult.IsSuccessful())
|
|
|
{
|
|
|
- var file = files[i];
|
|
|
- var deleteRequest = new DeleteObjectRequest(_bucket, file);
|
|
|
- var deleteResult = _cosXml.DeleteObject(deleteRequest);
|
|
|
- if (deleteResult.IsSuccessful())
|
|
|
+ var files = getResult.listBucket.contentsList.Select(x => x.key).ToArray();
|
|
|
+ for (var i = 0; i < files.Length; i++)
|
|
|
{
|
|
|
- deleteTask.UpdateProgress((i + 1) * 100 / files.Length);
|
|
|
+ var file = files[i];
|
|
|
+ var deleteRequest = new DeleteObjectRequest(_bucket, file);
|
|
|
+ var deleteResult = _cosXml.DeleteObject(deleteRequest);
|
|
|
+ if (deleteResult.IsSuccessful())
|
|
|
+ {
|
|
|
+ deleteTask.UpdateProgress((i + 1) * 100 / files.Length);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ deleteTask.UpdateFailed(deleteResult.GetResultInfo());
|
|
|
+ isSuccess = false;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+ if (isSuccess)
|
|
|
{
|
|
|
- deleteTask.UpdateFailed(deleteResult.GetResultInfo());
|
|
|
- isSuccess = false;
|
|
|
- break;
|
|
|
+ deleteTask.UpdateSuccess();
|
|
|
}
|
|
|
}
|
|
|
- if (isSuccess)
|
|
|
+ else
|
|
|
{
|
|
|
- deleteTask.UpdateSuccess();
|
|
|
+ deleteTask.UpdateFailed("List folders failed.");
|
|
|
}
|
|
|
}
|
|
|
- else
|
|
|
+ catch (Exception ex)
|
|
|
{
|
|
|
- deleteTask.UpdateFailed("List bucket failed.");
|
|
|
+ deleteTask.UpdateFailed(ex.Message);
|
|
|
}
|
|
|
-
|
|
|
});
|
|
|
return deleteTask;
|
|
|
|