【发布时间】:2013-09-17 22:02:16
【问题描述】:
我正在编写一个简单的 Sinatra 应用程序,但遇到<input type="file" multiple /> 无法让 Rack 在读取文件时抛出 NoMethodError: undefined method 'bytesize' for (Hash) 的问题。
表格是这样写的:
<form action="/upload" enctype="multipart/form-data" method="post">
<input type="file" name="images[]" multiple />
</form>
但是接收端抛出上述错误,在我的任何代码执行之前,也就是说,Rack 没有正确解析input[name=images]。我是否错误地发送了表格?如果我去掉括号[],那么只会发送(许多)最后一个文件,但我觉得我可能遗漏了一些东西......
澄清一下:这是 Sinatra v1.4.3 和 Rack v1.5.2,后者是抛出异常的那个。完整回溯here。
【问题讨论】:
-
错误出现在 Ruby 代码中。您需要发布操作源和任何其他相关代码。
-
是的,它专门在 Rack 的 utils.rb 上,正如我所说,它没有到达我的代码。我希望我的数组类型字段是问题所在。
-
没有代码?此外,这似乎不是 full 回溯。哪里有异常?
-
没有代码,因为异常不会触及我的代码,也就是说,它是由 Rack 抛出的。
标签: ruby file-upload sinatra