HTTP 업로드 |
폼 기반의 파일 업로드의 원리와 TABS Upload 서버 컴포넌트의 역할에 대해 설명합니다.
폼 기반의 파일 업로드를 위해 인코딩 형식이 multipart/form-data인 HTML 폼을 만듭니다.
<form method="post" ENCTYPE="multipart/form-data" action="upload.asp"> <input type="text" name="userName"> <input type="file" name="uploadFile"> <input type="submit" name="submit" value="Upload"> </form>
사용자는 웹 브라우저에 해당 폼을 로딩한 후 폼 요소에 값과 업로드 파일을 입력합니다.
입력이 끝났으면 Upload 버튼을 클릭합니다.
웹 브라우저는 입력한 폼 요소 데이터와 첨부 파일 데이터를 MIME 형식으로 인코딩한 후 HTTP를 통해 웹 서버로 전송합니다.
POST /upload.asp HTTP/1.1 Accept-Language: ko Content-Type: multipart/form-data; boundary=---------------------------7d1f5a80420 Content-Length: 5847 Cache-Control: no-cache -----------------------------7d1f5a80420 Content-Disposition: form-data; name="userName" Hong GilDong -----------------------------7d1f5a80420 Content-Disposition: form-data; name="uploadFile"; filename="C:\hong.gif" Content-Type: image/gif [Binary Data] -----------------------------7d1f5a80420 Content-Disposition: form-data; name="submit" Submit -----------------------------7d1f5a80420--
IIS는 action에 명시된 업로드 처리 ASP 페이지를 실행시킵니다.
ASP 페이지에서는 업로드 데이터를 처리하기 위해 TABS Upload 오브젝트를 생성합니다.
Start 메서드를 호출하면 MIME 데이터를 수신하면서 해석합니다.
모든 업로드 데이터를 전송 받은 후 Form 오브젝트를 사용해 업로드된 데이터를 참조합니다.
Set Upload = Server.CreateObject("TABSUpload4.Upload") Upload.Start "C:\Temp" Response.Write Upload.Form("userName") Upload.Form("uploadFile").Save