2010-03-18 3 views
2

내 서버에 여러 파일을 업로드 할 수 있도록 사용자가 있어야하므로 SWFUpload 유틸리티를 사용하고 있습니다. SWFUpload는 파일을 하나씩 보내므로 모든 파일을 동일한 임시 디렉토리에 저장해야합니다. 내 ASP.NET 처리기가 하나씩 파일을 수신하고 적절하게 파일을 저장할 수 있습니다.SWFUpload 여러 파일 서버 쪽 처리

내 문제는 : 어떤 파일이 동일한 업로드에 속하는지 어떻게 알 수 있습니까? 바꾸어 말하면, 처리기에서 파일을 어떻게 연결합니까?

답변

2

두 가지 방법이 있지만 (동일한 아이디어를 상속합니다)

아이디어는 sessionId 매개 변수와 같은 것이 있어야합니다. 이 값은 각 파일 세트마다 고유해야합니다. javascriptuuid 발전기 등을 사용할 수 있습니다.

또한이 sessionId 변수는 쿼리 문자열 (약간 핸들러 URL을 수정 함) : ~/UploadHandler.ashx?sessionId={whatever} 또는 게시 매개 변수 (더 나은 방법)로 전달 될 수 있습니다. 예를 들어 context.Request["SessionId"]을 사용하여 서버 측에서 값을 검색 할 수 있습니다.

클라이언트 측에서 게시 매개 변수 또는 처리기 URL을 동적으로 변경할 수 있어야합니다. 사용하여 수행 할 수 있습니다 :

void addPostParam(name, value) 

addPostParam 기능은 업로드 된 모든 파일에 대해 에 POST를 전송됩니다 이름/값 쌍을 추가합니다.

이름/값 쌍은 post_params 설정에 으로 표시됩니다.

또는

void setUploadURL(url) 

동적 UPLOAD_URL 설정을 변경한다.

클라이언트 메소드. 그들은 선택 대화 창 가 폐쇄 된 파일 후

fileDialogComplete(number of files selected, number of files queued, total number of files in the queued) 

fileDialogComplete 이벤트가 발생 에서 호출되어야하며, 선택된 모든 파일이 처리되고있다. ' 개의 파일 대기열'인수는 (대기열에있는 파일 수에 대해 과 반대) 대화 상자 선택에서 대기열에 있었던 파일 수를 나타냅니다.

방법.

희망. 도움이됩니다.

+0

@Alex : 귀하의 제안에 감사드립니다. 나는 이것이 내가 취할 필요가있는 접근이었다고 생각했지만 약간의 마술을 원했다. :) – Chau