これが私のメソッドヘッダーです:
private Hashtable uploadItemResource(Hashtable htRequest,
int userId, HttpPostedFile file, SessionData sessionData) {
ファイル オブジェクトは、私の Web サイトから投稿されたファイルです。このファイルを別のスレッドで AWS に送信しようとしています
PutObjectRequest titledRequest = new PutObjectRequest();
titledRequest
//other options left out
.WithInputStream(file.InputStream);
そしてs3Client.PutObject(titledRequest);
、スレッドで実行します。
問題は、この例外が発生していることです:
System.Net.WebException: 要求は中止されました: 要求はキャンセルされました。---> System.IO.IOException: すべてのバイトが書き込まれるまでストリームを閉じることができません。System.Net.ConnectStream.CloseInternal (Boolean internalCall, Boolean aborting) で --- 内部例外スタック トレースの終わり ---
これは、ファイル オブジェクトが範囲外になり、AWS 呼び出しがまだそれを読み取ろうとしている間に破棄しようとしていることが原因だと思います。
これを修正する最善の方法は何ですか? ファイルの内容を前もってダンプし、それを AWSに渡す最良の方法は何ですか?