如何使用WEBrick接收多部分POST,理想情况下是流式传输(不在内存中)

时间:2013-10-10 19:23:30

标签: ruby webrick

我希望收到大型文件的多部分POST。我无法使用WEBrick找到任何真正的支持。我所发现的就是如果你使用request.query(),你会得到使用标题中的名称索引的数据的HASH。但是,ruby哈希值没有排序,因此这不允许您正确地重建数据。此外,将数据流式传输到文件而不是将其完全加载到内存中会很不错。

有什么想法吗?

干杯,

罗宾

1 个答案:

答案 0 :(得分:0)

所以除了流媒体之外,我想出来了。只要多部分块的所有头都具有相同的名称(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}