2009-07-20 5 views
2

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

Спасибо.

ответ

0

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

5

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

+0

Это, безусловно, потенциальное решение, если ваш веб-сервер поддерживает его (большинство контейнеров Java разрешают идентификатор сеанса в querystring). –

+0

Это не работает для меня ... – serg

+0

Что не работает, точно? Обратите внимание, что мое предложение использует точку с запятой, а не? для добавления данных сеанса - вы использовали это? Как выглядит ваш URL? –

0

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

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

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

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

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

Смежные вопросы