8

Mono プロジェクトで RestSharp を使用していくつかのファイルをアップロードしていますが、大きなファイルをアップロードすると、メモリが大幅に増加することに気付きました。

RestSharp ソース コードを見ると、 FileParameterがバイト配列を想定していることに気付きました。これは、実際にファイルをメモリにロードしていることを意味します。

私は何か間違ったことをしていますか?RestSharp がこれを行わない方法はありますか? 非常に大きなファイルをアップロードする可能性があるため、メモリからアップロードすることはできません。

ヘルプ (mono で利用可能な別の HTTP ライブラリを使用するように言うことを含む) は大歓迎です。

4

2 に答える 2

5

そして、この行を見つけた後、私はあきらめました。そのため、リクエストの本文は常にメモリに読み込まれます。これは残念なことです。そこで、この質問のコードとApacheHttpClientライブラリのデバッグに基づいてファイルをアップロードする簡単なソリューションを構築しました。

誰かが興味を持っている場合は、ソースがここにあります。

于 2012-01-25T15:30:36.120 に答える
5

オーバーロードを使用してくださいAddFile(name, writer, filename)

writerパラメーターには、リクエスト ボディ ストリームに直接書き込む an を渡しますAction<Stream>。ストリームを閉じないでください。

stream への書き込みの例を次に示します

于 2012-01-24T19:19:26.940 に答える