我正在开发一个应用程序,在该应用程序中我使用回形针上传图像,然后在flash应用程序中处理图像,并使用application/octet流将其返回到我的应用程序。问题是闪存中的参数无法使用params。我见过类似的例子
File.open(..,..) {|f| f.write(request.body) }
但是当我这样做的时候,文件是如何损坏的。
如何在轨道3中处理此问题?
在确保请求参数已到达Rails应用程序之后,您可能需要确保没有解析问题。尝试在控制器的操作中添加以下行:
def update # (or whatever)
logger.debug "params: #{params.inspect}"
# I hope you do not test this using very large files ;)
logger.debug "request.raw_post: #{request.raw_post.inspect}"
# ...
end
也许变量名不知怎么变了?也许某个东西从参数字符串中逃脱的次数太多了?
此外,您已经说过要保存request body
的文件已损坏。具体如何?
request.body对象不需要是String。例如,它可能是StringIO,因此您可能需要键入以下内容:
File.open(..,..) {|f| f.write(request.body.read) }