1

私はmod_wsgiでapacheを使用してPylons1.0プロジェクトに取り組んでいます。大きなPOSTおよびGETリクエストを処理するために必要です。GETリクエストの場合、データソース(通常はディスク上のファイル)を取得して読み取り、Pylonsレイヤーに渡して、データをユーザーにストリーミングします。また、urllib2でmmapを使用して、データ要求を他のサービスにストリーミングできることも知っています。

ただし、サービスへのPOSTリクエストの場合、誰かが大きなファイルをアップロードしたときにメモリ使用量を圧倒しないように、リクエストをディスクにストリーミングするにはどうすればよいですか?req.body_fileが表示されます。これは、Pylonsがすでにこれを実行していることを示している可能性があります。それが事実かどうか誰かが知っていますか?

4

1 に答える 1

1

Pylonsは、WebObプロジェクトを使用して要求オブジェクトと応答オブジェクトを提供し、ファイルのアップロードを効率的に処理します。

内部でのファイルアップロード処理は、実際にはpython stdlibcgiモジュールに委任されます。このモジュールは、一時ファイルを使用してアップロードを処理します。

最終的に、これは、要求入力がストリームであることを指定する、基盤となるWSGI標準によるものでもあります。

于 2012-09-12T11:49:41.450 に答える