我有这段代码:
try
{
TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(S3AccessId, S3SecretKey, Amazon.RegionEndpoint.USEast1));
// Use TransferUtilityUploadRequest to configure options.
TransferUtilityUploadRequest uploadRequest =
new TransferUtilityUploadRequest
{
BucketName = S3BucketName,
InputStream = streamx,
Key = S3FileKey
};
uploadRequest.UploadProgressEvent += new EventHandler<UploadProgressArgs>(uploadRequest_UploadPartProgressEvent);
await fileTransferUtility.UploadAsync(uploadRequest);
Debug.WriteLine("Upload completed");
}
catch (AmazonS3Exception exception)
{
Debug.WriteLine(exception.Message, exception.InnerException);
}
我需要更新ListView中生成的项目的上传进度。在这个ListView中可以有多个项目。有什么想法吗?
答案 0 :(得分:0)
您只能在不同的代码行之间进行进度报告。通常这意味着必须将代码分解并复制到您要报告的最低循环。是对文件进行迭代的循环或对DataStream进行迭代的循环。
只有一些较新的类支持深度进度报告。像Windows.Web.Http.HttpClient这样的东西(不要误认为是System.Net.Http.HttpClient)。他们有可以注册的事件,然后用于执行进度报告。我不知道这个亚马逊图书馆是否具备这些功能。