SWFUpload和Java:会话丢失

时间:2009-07-20 18:26:46

标签: java spring session swfupload

我正在使用SWFUpload将文件上传到java servlet(spring框架)。问题是当前Web会话在文件上载期间丢失(它创建一个新会话)。我读到这是一个已知的bug,并且在某处有一些解决方法,但我找不到任何东西。有谁知道如何让它发挥作用?

感谢。

3 个答案:

答案 0 :(得分:5)

在SWFUpload论坛上查看this post。将;jsessionid=XXX添加到上传网址可能对您有用,也可能不适用;问题的确切原因似乎不清楚。请注意,Flash使用Wininet堆栈(与IE相同),因此如果您使用的是其他浏览器,则需要以某种方式将会话cookie(浏览器已知)添加到IE cookie中。

答案 1 :(得分:0)

这也是在.NET平台上。问题是Flash对象在与Java App不同的会话上下文中运行(它有效地被视为新客户端)。解决所有这一切的一种方法是有效地让对象发布在查询字符串中提交上传所需的任何必要信息。

答案 2 :(得分:0)

您描述的已知错误听起来像this one。如果你有时间,请注册说“我也有这个问题”所以我们可以让Adobe清楚地知道它影响了很多人。

很难给出一个最适合你特定情况的方法的例子,因为我对春天知之甚少。

也就是说,解决它的常用方法是将会话的GET变量附加到上传URL,然后将其手动设置为服务器端的会话。

Here's关于这个问题的另一个SO线程有一个很好的答案(遗憾的是不是特定于java + spring,但可能会给你一个更好的想法)。

希望这足以让你有一个良好的开端。