大きなファイルのマルチパート POST を受け取りたいです。WEBrick を使用して、これに対する実際のサポートを見つけることができませんでした。私が見つけたのは、request.query() を使用すると、ヘッダーの名前を使用してインデックス付けされたデータの HASH を取得することだけです。ただし、ルビ ハッシュは順序付けられていないため、データを正しく再構築することはできません。また、データを完全にメモリにロードするのではなく、ファイルにストリーミングすると便利です。
1 に答える
2
それで、ストリーミングを除いてそれを理解しました。マルチパート チャンクのすべてのヘッダーが同じ名前 (Content-Disposition: form-data; name=\"some_name\") である限り、すべてのデータは WEBrick::HTTPUtils::FormData オブジェクトにグループ化され、アクセスされます。使用:
request.query['some_name']
各データ要素は、次を使用して順番に繰り返すことができます。
request.query['some_name'].each_data {|data| puts data.to_s}
于 2013-10-10T23:20:18.183 に答える