기술문서
온라인 기술문의 이전에 기존에 등록된 기술문서 검색 서비스로 답변을 기다릴 필요없이
해결방법을 참고하실 수 있습니다.
기술문서 목록
ㆍ기술문서 목록 |
|
|
|
|
기술문서 ID |
EX_000002 |
HowTo |
대용량 업로드 시 폼데이터를 처리하는 방법 |
에러코드 |
|
태그 |
DEXTUpload Pro Ex
문제해결
|
작성일 |
2010-03-19 |
문제 |
DEXTUpload Pro Extension은 DEXTUpload Pro와 DEXTUploadX 제품을 통합하여 더욱 강력한 파일업로드 기능과 함께 웹하드 개념의 서비스를 구현할 수 있도록 합니다.
이 제품은 브라우저와 웹서버간의 업로드 용량제한 및 전송개념을 획기적으로 개선하여 시스템이 처리 가능한 범위내에서 무제한 용량의 파일의 업로드가 가능해 졌으며, 파일전송 방식을 통합전송방식에서 개별전송방식으로 전환하여 일반적인 파일업로드 서비스 이외에도 웹하드 개념의 서비스로 확장할 수 있도록 합니다. 대용량 업로드, 대용량 이어올리기 시 내부적으로 서버 페이지를 여러번 요청하여 파일에 해당하는 폼데이터를 나누어 전송합니다.
이때 폼데이터는 최초 업로드 요청 시 한번만 전송됩니다. 따라서 전송이 완료되는 uploadform.ResumeMode = "done" 시점에서 폼데이터는 이미 overwrite되어 사라지게 되는 것입니다. DEXTUpload Pro Extension의 대용량 업로드 기능을 사용하여 파일을 업로드 할 경우
파일과 함께 전송된 폼데이터를 처리하는 방법입니다. |
해결 |
최초 업로드 요청 시 폼데이터를 DB등에 임시 저장하였다가 업로드 완료( uploadform.ResumeMode = "done" )시점에서 해당 내용을 DB쪽에 접근하여 처리하거나, 서버측 페이지가 아닌 클라이언트 측에서 폼데이터를 미리 처리하는 방법이 있습니다.
아래소스는 DEXTUpload Pro Extension의 DEXTUploadXEx샘플 중 대용량업로드 샘플(LargeUpload)의 서버 페이지(LargeUpload.asp)를 참고로 설명된 예제 입니다.
예_) if uploadform.ResumeMode = "configurefileinfo" or uploadform.ResumeMode = "attachfile" then
->대용량/ 이어올리기 모드 최초 업로드 발생 시점
...중략...
elseif uploadform.ResumeMode = "done" then ->대용량/이어올리기 완료 시점
...중략...
else ->대용량/이어올리기 모드가 아닌 일반 업로드 일 경우
...중략...
end if
|
|