SWFUpload и Java: сеанс потерян - PullRequest
2 голосов
/ 20 июля 2009

Я использую SWFUpload для загрузки файлов в сервлет Java (Spring Framework). Проблема в том, что текущий веб-сеанс теряется во время загрузки файла (он создает новый сеанс). Я читал, что это известная ошибка, и где-то есть обходные пути, но я ничего не могу найти. Кто-нибудь знает, как заставить это работать?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 20 июля 2009

Просмотрите этот пост на форумах SWFUpload. Добавление ;jsessionid=XXX к URL для загрузки может работать для вас, а может и нет; точная причина проблемы кажется неясной. Обратите внимание, что Flash использует стек Wininet (такой же, как IE), поэтому, если вы используете другой браузер, вам нужно каким-то образом вставить cookie сеанса (известный вашему браузеру) в cookie IE.

0 голосов
/ 30 апреля 2011

Известная ошибка, которую вы описываете, звучит как эта . Если у вас есть время, пожалуйста, зарегистрируйтесь, чтобы просто сказать «У меня тоже есть эта проблема», чтобы мы могли четко дать понять Adobe, что это затрагивает многих людей.

Трудно привести пример наилучшего способа сделать это для вашей конкретной ситуации, так как я мало знаю о весне.

Тем не менее, обычный способ обойти это - добавить переменную GET с сеансом к URL-адресу загрузки, затем взять его и вручную установить в качестве сеанса на стороне сервера.

Вот еще один SO-поток об этой проблеме, который имеет хороший ответ (к сожалению, не относится к java + spring, но может дать вам лучшее представление).

Надеюсь, этого достаточно, чтобы вы смогли хорошо начать.

0 голосов
/ 20 июля 2009

Имелось это и на платформе .NET. Проблема заключается в том, что Flash-объект работает в другом контексте сеанса, чем ваше Java-приложение (он фактически рассматривается как новый клиент). Один из способов обойти все это - эффективно разместить у объекта всю необходимую информацию, необходимую для фиксации закачек обратно в строке запроса.

...