亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Amazon S3 MultiPartUpload C# 不起作用

Amazon S3 MultiPartUpload C# 不起作用

C#
慕容3067478 2021-11-21 10:52:24
我已經為這個問題苦苦掙扎了幾個小時,我希望你能幫助我。不知何故,我的編譯器只接受 InitiateMultipartUploadAsync 而不是常規的 InitiateMultipartUpload 并且絕對需要回調作為參數來編譯,但我可以弄清楚給他什么回調函數。private static async Task UploadObjectAsync(){    // Create list to store upload part responses.    List<UploadPartResponse> uploadResponses = new List<UploadPartResponse>();    // Setup information required to initiate the multipart upload.    InitiateMultipartUploadRequest initiateRequest = new InitiateMultipartUploadRequest    {        BucketName = "XXXXXXXXX",        Key = "videos/multipart"    };    // Initiate the upload.    InitiateMultipartUploadResponse initResponse =        await S3Client.InitiateMultipartUploadAsync(initiateRequest);    // Upload parts.    long contentLength = new FileInfo("videotest").Length;    long partSize = 5 * (long)Math.Pow(2, 20); // 5 MB    try    {        Console.WriteLine("Uploading parts");        long filePosition = 0;        for (int i = 1; filePosition < contentLength; i++)        {            UploadPartRequest uploadRequest = new UploadPartRequest            {                BucketName = "XXXXXXXX",                Key = "videos/multipart",                UploadId = initResponse.UploadId,                PartNumber = i,                PartSize = partSize,                FilePosition = filePosition,                FilePath = "videotest"            };            // Track upload progress.            uploadRequest.StreamTransferProgress +=                new EventHandler<StreamTransferProgressArgs>(UploadPartProgressEventCallback);            // Upload a part and add the response to our list.            uploadResponses.Add(await S3Client.UploadPartAsync(uploadRequest));            filePosition += partSize;        }此代碼的靈感來自官方 aws 示例:https ://docs.aws.amazon.com/AmazonS3/latest/dev/LLuploadFileDotNet.html 所以我真的不明白為什么這不起作用!目前使用上面的代碼,Visual Studio 告訴我 InitiateMultipartUploadAsync、UploadPartAsync、CompleteMultipartUploadAsync 和 AbortMultipartUploadAsync 都需要回調函數,但是 1) 示例說回調是可選的 2) 我嘗試的每個回調都不起作用。提前致謝
查看完整描述

2 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

如果其他人也有同樣的錯誤,我完全更改了代碼并使用了這個解決方案:https : //github.com/aws/aws-sdk-net/issues/562


查看完整回答
反對 回復 2021-11-21
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

你可以像這樣啟動它:


            s3Client = new AmazonS3Client(BUCKETREGION);

            var initiateRequest = new InitiateMultipartUploadRequest { BucketName = BUCKET, Key = KEY };


            await s3Client.InitiateMultipartUploadAsync(initiateRequest).ContinueWith(response =>

              {

                  if (!string.IsNullOrEmpty(response.Result.UploadId))

                  {

                      uploadId = response.Result.UploadId;

                  }

                  else

                  {

                      Debug.WriteLine(response.Exception);

                  }

              });


查看完整回答
反對 回復 2021-11-21
  • 2 回答
  • 0 關注
  • 383 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號