2

RestSharp を使用してナンシーにファイルをアップロードしようとしています。マルチパートリクエストを使用してストリームを nancy サーバーにアップロードする request.AddFile() を使用します。

問題は、ナンシーがリクエストを解析してモジュールに渡すリクエストをストリーム全体でシークしているときに、ストリームの目的を無効にすることです (ファイルをディスクに直接ストリーミングしたい)。

nancy のソース コードを調べたところ、それが行われている場所が見つかりました。

その中で、 which 呼び出しをHttpMultipart.cs使用してすべてのサブストリームを取得しようとし、そのメソッドは基本的にストリームをシークします。GetBoundarySubStreams()GetNextBoundaryPosition()

私は何か間違ったことをしているのだろうかと思っていましたか?多分私は何かを設定していませんか?これを回避する方法はありますか?

4

1 に答える 1

1

古くからの質問であることは承知していますが、これを試してみてください:

var fileStream = new FileStream(filePath, FileMode.Create);
Request.Body.CopyTo(fileStream);

私の知る限り、これはファイルストリームをディスクに直接ストリーミングしているようです。

于 2015-07-22T17:42:08.523 に答える