0

現在、さまざまなサービスや動画をアップロードするためにviddlerを使用しています。また、amazon s3サーバーでコンテンツのバックアップサービスを提供したいと考えています。このサービスを開発するために、私はAWS SDK for .NETを使用しました。私は、ファイルパスとしてURLを渡してファイルをアップロードしようとすると、それは私に次のエラーを与える:
"the specified file does not exist"URLからファイルをAmazone S3にアップロード[ファイルが存在しないというエラー]

私の質問は:プログラムでS3に別のドメインからAWS SDKのサポートコンテンツのアップロードや他の方法をしていますか?

マイコード:S3へ

PutObjectRequest titledRequest = new PutObjectRequest(); 
titledRequest.WithMetaData("title", "the title") 
//.WithContentBody("this object has a title") 
.WithBucketName(bucketName) 
.WithFilePath("http://download.microsoft.com/download/9/2/2/9222D67F-7630-4F49-BD26-  476B51517FC1/FileFormatConverters.exe") //does url support? 
.WithTimeout(3600000) 
.WithReadWriteTimeout(3600000) 
.WithKey("test.ext"); 

using (S3Response responseWithMetadata = client.PutObject(titledRequest)) 
{ 
} 
+0

なぜあなたの 'WithFilePath'パラメータにスペースがありますか? – uday

+0

@Dave its mistake .WithFilePath( "http://download.microsoft.com/download/9/2/2/9222D67F-7630-4F49-BD26-476B51517FC1/FileFormatConverters.exe") 私はamazone s3プルファイルの要求をサポートしていません – user1211865

+0

誰でもそれを助けることができますか? – user1211865

答えて

0

アップロードは、コンテンツの長さのメタデータが設定された全体のバイトストリームを必要としています。ソースURLからデータを受け取り、それを非同期にS3 PutObjectリクエストにパイプするライブバッファを作成する必要があります。

これを行う方法の1つに、マルチパートアップロードの一部として使用できるセットチャンクサイズにソースからのバイトストリームを合理化するための2つのバッファがあります。

SDKではこれがサポートされているとは思いますが、AWSサービスへのREST呼び出しを使用してこれを実装する必要があります。

関連する問題