2009-07-20 10 views
2

私はSWFUploadを使用してファイルをJavaサーブレット(Spring Framework)にアップロードしています。問題は、ファイルのアップロード中に現在のWebセッションが失われていることです(新しいセッションが作成されます)。私はそれが既知のバグであると読んで、いくつかの回避策がどこかにあるが、私は何も見つけることができない。誰もそれを動作させる方法を知っていますか?SWFUploadとJava:セッションが失われました

ありがとうございました。

答えて

0

これは.NETプラットフォームでも同様です。問題は、Flash ObjectがJava Appとは異なるセッション・コンテキストで実行されることです(新しいクライアントのように効果的に処理されます)。このすべてを回避する方法の1つは、クエリー文字列にアップロードをコミットするために必要な情報をオブジェクトに効率よく投稿させることです。

5

SWFUploadフォーラムでthis postをご覧ください。アップロードURLに;jsessionid=XXXを追加すると効果があります。問題の正確な原因は不明確です。 FlashはWininetスタック(IEと同じ)を使用するので、別のブラウザを使用している場合は、セッションクッキー(ブラウザに知られている)をIEクッキーに取得する必要があります。

+0

Webサーバーがサポートしている場合、これは確かに潜在的な解決策です(ほとんどのJava Containersはクエリ文字列でセッションIDを許可します)。 –

+0

それは私のために働いていません... – serg

+0

何が正しく動作しません?私の提案ではなくセミコロンを使用していることに注意してください。セッションデータを追加するには - これを使用しましたか?あなたのURLはどのように見えますか? –

0

あなたが記述する既知のバグはthis oneのように聞こえます。時間があれば、「私もこの問題があります」と申し込んでサインアップし、多くの人々に影響を与えていることをAdobeに明確に伝えることができます。

私は春についてあまり知らないので、あなたの特定の状況のた​​めの最良の方法の例を挙げるのは難しいです。つまり、通常の方法は、GET変数をセッションにアップロードURLに追加し、それを取得してサーバー側のセッションに手動で設定することです。

Here'sもう1つのSOスレッドですが、良い答えがあります(残念ながら、Java + Springに固有ではありませんが、より良いアイデアを与えるかもしれません)。

うまくいけば、それは良いスタートにあなたをオフに十分な詳細です。

関連する問題