2009-07-20 2 views
2

SWFUpload를 사용하여 파일을 java servlet (스프링 프레임 워크)에 업로드하고 있습니다. 문제는 파일 업로드 중에 현재 웹 세션이 손실된다는 것입니다 (새 세션을 생성 함). 나는 그것이 알려진 버그이며 어딘가에 몇 가지 해결 방법이 있지만 나는 아무것도 찾을 수 없다는 것을 읽었습니다. 누구든지 작동하도록하는 방법을 알고 있습니까?SWFUpload 및 Java : 세션이 손실되었습니다.

감사합니다.

답변

0

.NET 플랫폼에서도 마찬가지였습니다. 문제는 Flash Object가 Java App과 다른 세션 컨텍스트에서 실행된다는 것입니다 (새 클라이언트처럼 효과적으로 처리됩니다). 이 모든 것을 해결할 수있는 한 가지 방법은 개체가 쿼리 문자열에 업로드를 다시 커밋하는 데 필요한 모든 정보를 효과적으로 게시하도록하는 것입니다.

5

SWFUpload 포럼에서 this post을 확인하십시오. 업로드 URL에 ;jsessionid=XXX을 추가하면 도움이 될 수도 있고 그렇지 않을 수도 있습니다. 문제의 정확한 원인은 불분명합니다. Flash는 Wininet 스택 (IE와 동일)을 사용하므로 다른 브라우저를 사용하는 경우 브라우저에 알려진 세션 쿠키를 Internet Explorer 쿠키로 가져와야합니다.

+0

웹 서버가 지원하는 경우 이는 잠재적 인 솔루션입니다 (대부분의 Java 컨테이너는 쿼리 문자열에서 세션 ID를 허용합니다). –

+0

그것은 나를 위해 작동하지 않습니다 ... – serg

+0

정확히 작동하지 않는 무엇입니까? 내 제안은 세미콜론을 사용한다는 점에 유의하십시오. 세션 데이터를 추가하려면 - 이것을 사용 했습니까? 귀하의 URL은 어떻게 생겼습니까? –

0

설명하는 알려진 버그는 this one입니다. 시간이 있다면 "이 문제도 있습니다"라고 말하면서 많은 사람들에게 영향을 미치고 있음을 Adobe에 분명히 알릴 수 있도록 가입하십시오.

봄에 대해 많이 알지 못하기 때문에 특정 상황에 가장 적합한 방법을 제시하는 것이 어렵습니다.

그런데 일반적으로 해결할 수있는 일반적인 방법은 세션에 GET 변수를 업로드 URL에 추가 한 다음 가져 와서 수동으로 서버 쪽 세션으로 설정하는 것입니다.

Here's 좋은 대답이있는이 문제에 대한 또 다른 SO 스레드 (불행히도 Java + Spring에만 해당되는 것이 아니라 더 나은 아이디어를 제공 할 수도 있음).

좋은 시작으로 당신을 벗어나기에 충분한 세부 사항이 되었기를 바랍니다.

관련 문제