Click or drag to resize

StartChunked 메서드

조각화된 바이너리 업로드 데이터를 처리합니다.

형식
syntax
objUpload.StartChunked(uploadTempPath)

objUpload

Required. UploadSingle 오브젝트

uploadTempPath

Required. String. 업로드 중인 임시 파일이 저장될 디렉터리 이름을 지정합니다.

설명

업로드 파일이 하나의 HTTP 요청으로 전달되지 않고 여러 조각의 HTTP 요청으로 나누어서 전달하는 것을 조각화된 업로드라고 합니다. 조각화된 업로드는 웹 브라우저의 메모리 사용을 최소화하고 HTTP로 전송할 수 있는 파일 최대 크기에 상관없이 매우 큰 파일을 보낼 수 있는 장점이 있습니다. 대신 조각화된 HTTP 요청을 서버에서 처리해 합치는 작업이 필요합니다.

StartChunked 메서드는 조각화된 HTTP 요청을 받아서 하나의 파일로 합치는 작업을 합니다. 마지막 조각을 받아서 완전한 하나의 파일이 완성될 경우 ChunkedUploadCompleted 프로퍼티가 True를 반환합니다. 이 때 Save 메서드 또는 SaveAs 메서드를 사용해 최종 저장하고자 하는 디렉터리로 파일을 옮길 수 있습니다.

기본적으로 uloadTempPath에 지정된 디렉터리에 업로드가 이루어지며 확장자가 .TMP인 파일이 생성되므로 UploadSingle 오브젝트를 사용하는 웹 애플리케이션은 해당 디렉터리에 대한 쓰기 권한을 가지고 있어야 합니다.

조각화된 업로드 과정에서 사용자의 업로드 취소, 브라우저 종료, 네트워크 오류 등으로 업로드가 완료되지 않을 경우 HTTP 프로토콜의 비연결지향성 때문에 ASP 페이지에서 업로드 처리가 완료되지 않았다는 것을 알 수 없습니다. 따라서 저장 중인 .TMP 파일을 삭제할 수 있는 방법이 여의치 않습니다. 이 문제를 해결하기 위해 TABS Upload 5 Utility Service와 연동해 처리되지 않은 임시 파일을 찾아서 삭제하는 방법을 사용합니다.

예제
ASP
UploadPath = "C:\Data\Upload"

Set upload = Server.CreateObject("TABSUpload4.UploadSingle")
'파일 이름이 저장되어 있는 헤더를 명시한다.
upload.FileNameHeader = "file-name"
'하나의 파일에 대한 청크 바이너리 업로드 데이터를 처리한다.
upload.StartChunked "C:\Temp"

'마지막 청크가 도착해 업로드가 완료되었는지 검사한다.
If upload.ChunkedUploadCompleted Then
    ' 업로드가 완료되면 실제 파일로 저장한다.
    upload.Save UploadPath, False
    Response.Write upload.ShortSaveName
End If