我正在开发一个应用程序,我使用paperclip上传图像,然后在flash应用程序中操作图像并使用application / octet-stream返回到我的应用程序。问题是使用params无法获得闪存中的参数。我见过像
这样的例子File.open(..,..) {|f| f.write(request.body) }
但是当我这样做时,文件会被损坏一些。
如何在rails 3中处理此问题?
答案 0 :(得分:2)
确保请求参数已经命中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) }