0

AWS S3を使用してファイルを保存しています。 ファイルをアップロードしたり削除したりできます。 大きなファイルをアップロードする際に問題があります。どのくらいアップロードしたかを知る方法と、進捗バーのように実装する必要があります。AWS S3アップローダーからの応答を取得する方法

私にそれを手伝ってください。

IAmazonS3 client = new AmazonS3Client(RegionEndpoint.USEast2); 
      TransferUtility utility = new TransferUtility(client); 
      TransferUtilityUploadRequest request = new TransferUtilityUploadRequest(); 
if (subDirectoryInBucket == "" || subDirectoryInBucket == null) 
      { 
       request.BucketName = bucketName; //no subdirectory just bucket name 
      } 
      else 
      { // subdirectory and bucket name 
       request.BucketName = bucketName + @"/" + subDirectoryInBucket; 
      } 
      request.Key = RandomString()+ Path.GetExtension(e.File.FileName); //file name up in S3 
      request.InputStream = e.File.InputStream; 
      request.CannedACL=S3CannedACL.PublicRead; 
      utility.Upload(request); //commensing the transfer 

このコードは私が使用しています。あなたはそれを使用することができますTransferUtilityUploadRequest

答えて

1

そここんにちはメソッド呼び出し、以下

はあなたにもこのlink参照することができます例です!これが願っています

using System; 
using System.Collections.Specialized; 
using System.Configuration; 
using Amazon.S3; 
using Amazon.S3.Transfer; 


namespace s3.amazon.com.docsamples 
{ 
    class TrackMPUUsingHighLevelAPI 
    { 
     static string existingBucketName = "*** Provide bucket name ***"; 
     static string keyName   = "*** Provide key name ***"; 
     static string filePath   = "*** Provide file to upload ***"; 

    static void Main(string[] args) 
     { 
     try 
     { 
      TransferUtility fileTransferUtility = 
       new TransferUtility(new AmazonS3Client(Amazon.RegionEndpoint.USEast1)); 

      // Use TransferUtilityUploadRequest to configure options. 
      // In this example we subscribe to an event. 
      TransferUtilityUploadRequest uploadRequest = 
       new TransferUtilityUploadRequest 
       { 
        BucketName = existingBucketName, 
        FilePath = filePath, 
        Key = keyName 
       }; 

      uploadRequest.UploadProgressEvent += 
       new EventHandler<UploadProgressArgs> 
        (uploadRequest_UploadPartProgressEvent); 

      fileTransferUtility.Upload(uploadRequest); 
      Console.WriteLine("Upload completed"); 
     } 

     catch (AmazonS3Exception e) 
     { 
      Console.WriteLine(e.Message, e.InnerException); 
     } 
    } 

    static void uploadRequest_UploadPartProgressEvent(
     object sender, UploadProgressArgs e) 
    { 
     // Process event. 
     Console.WriteLine("{0}/{1}", e.TransferredBytes, e.TotalBytes); 
    } 
} 
} 
関連する問題