2011-12-20 45 views
1

私はクライアントからのファイルのチャンクアップロード部分を受け取る.ashxハンドラを実装しました。以前は、ファイルをAWSにアップロードする前に一時フォルダに保存していました。 ファイルがかなり大きくなったので、一時フォルダ部分をスキップして、MultiPartリクエストを使用してAWSに直接アップロードします。AWS .NET SDKからのマルチパートファイルアップロード

それは、これまで正常に見えるが、私は、アップロードのためにどちらかHttpPostedFileまたはストリームを受け入れるオーバーロードを見つけることができません。..

私は以下の可能性のようなもの?シンプル

 // Create request to upload a part. 
     UploadPartRequest uploadRequest = new UploadPartRequest() 
      .WithBucketName(myBucket) 
      .WithKey(myKey) 
      .WithUploadId(myUploadId)     
      .WithPartNumber(partNumber) 
      .WithInputStream(inputStream); 

答えて

1

WithInputStreamではなくUploadPartRequest のS3要求を返しますので、ちょうど

// Create request to upload a part. 
     UploadPartRequest uploadRequest = new UploadPartRequest() 
      .WithBucketName(myBucket) 
      .WithKey(myKey) 
      .WithUploadId(myUploadId)     
      .WithPartNumber(partNumber); 

uploadRequest = (UploadPartRequest)uploadRequest.WithInputStream(ftiObject.sourceStream); 

これをUploadPartRequestする戻り値の型をキャスト私のために働く

0

:ちょうどプロパティを介して入力ストリームを設定します。

  // Create request to upload a part. 
      UploadPartRequest uploadRequest = new UploadPartRequest() 
       .WithBucketName(myBucket) 
       .WithKey(myKey) 
       .WithUploadId(UploadId) 
       .WithPartNumber(PartNumber) 
       .WithPartSize(inputStream.Length) 
       .WithFilePosition(FilePosition); 

      uploadRequest.InputStream = inputStream; 
2
UploadPartRequest uploadRequest = new UploadPartRequest() 
     .WithBucketName(myBucket) 
     .WithKey(myKey) 
     .WithUploadId(myUploadId)     
     .WithPartNumber(partNumber) 
     .WithInputStream(stream) as UploadPartRequest; 

これも可能です。

関連する問題