如何在Sinatra中访问多部分表单数据?

时间:2014-05-30 11:06:59

标签: ruby sinatra multipartform-data

我正在使用Sinatra和Thin。

当尝试使用多部分数据访问POST请求的内容时,我看不到任何方便的方法来访问它,虽然看起来我可以访问原始主体。

我有什么遗失的吗?有没有方便的方法来做到这一点,还是我必须自己解析数据?

request.env['rack.request.form_hash']给出一个空哈希。

将正文(request.body.read())转储到stdout时,它看起来像这样:

--KoZIhvcNAQcB
Content-Disposition: form-data; filename="1"
X-compId: 1
Content-Length: 1024

QeQL4k8RPBQVrP2u8Zf6Ie82labdA_
d7s FgvwSQvkP6e0TwaWWCfoHWbaP6
... (some lines omitted)

--KoZIhvcNAQcB--

我也看到它不是一个分块转移编码问题(我读过Thin有问题);未设置Transfer-Encoding标头。 但至于我的问题,Sinatra或Rack是否在API中提供了用于访问多部分细节的内容?

UPDATE :执行一些阅读后,我看到多部分数据应该在请求参数中可见。结果,我在GitHub上记录了一个问题。如果我得到解决,我会在这里发布答案。 https://github.com/rack/rack/issues/695

0 个答案:

没有答案