1

我有一个与 rails 2.3.3 一起使用的第三方应用程序(上传进度条 - swfupload),它无法传递会话信息或 cookie。但是,我可以将应用程序中的会话数据打包到 URI 中,它将用于上传文件并在我获取文件时检索该文件。

问题是,我在 2.3.3 的网络上看到的任何魔法黑客都没有。我不知道为什么的具体细节,但我什至尝试过使用 swfupload 的最小 RESTful 演示应用程序,它和我的一样呕吐。

我所需要的只是一种从已知包含会话数据的字符串中强制重新加载会话的方法。类似于以下内容:

if session[:user_id]
  do stuff
else
  session.reload(session_string_from_uri)
end

你明白了。

不,我对尝试另一种 Rails 上传器解决方案不感兴趣。我已经有足够多的失败了,我将坚持使用此解决方案,因为对我当前问题的简单回答将解决我的问题。

4

2 回答 2

0

您需要使用机架中间件从随 Flash 请求一起发布的数据中恢复会话。这是一篇很好的文章解释了这一点:http: //jetpackweb.com/blog/2009/10/21/rails-2-3-4-and-swfupload-rack-middleware-for-flash-uploads-that-degrade -gracefully/comment-page-1/

于 2010-01-26T17:48:11.500 回答
0

不确定这是否适合您,但我的 swfuploader 修复很简单,因为我们有数据库会话。

_options['session_id'] = params[ _options['session_key'] ]   
session = Session.find_by_session_id(_options['session_id'])      
于 2009-08-06T17:12:43.157 回答