에서 제공하는 abcupload라는 컴포넌트를 이용해 파일을 업로드 할 수 있다.
현재 제공되는 것은 abcupload4.x 버전으로 30일짜리 쉐어웨어다.
등록방법은 다운받은후 셋업파일을 실행시키면 된다.
혹시 무료로 사용이 가능한 구버전 abcupload.dll 파일을 가지고 있다면
CMD 창에서 regsvr32 c:\파일경로\AbcUpload.dll
를 입력하여 수동으로 등록해주고 사용하면 된다.
등록 취소방법은
regsvr32 /u c:\파일경로\AbcUpload.dll
이하 이미지파일을 업로드하고 읽어서 보여주는 예제를 통해 사용법을 알아보자.
<form method="post" action="./abcupload_ok.asp" enctype="multipart/form-data"> <!--AbcUpload라는 컴포넌트를 이용하여 업로드 해야하기때문에 데이타 전송시 multipart/form-data 로 엔코딩 타입을 지정해줘야한다.--> <table width="400" border="1" cellspacing="0" cellpadding="0"> <tr align="center"> <td colspan="2" height="25">abcup</td> </tr> <tr> <td align="center">이름</td> <td width="350"> <input type="text" name="upname"></td> </tr> <tr> <td align="center">첨부1</td> <td><input type="file" name="file" size="30"></td> </tr> <tr> <td align="center">첨부2</td> <td><input type="file" name="file" size="30"></td> </tr> <tr> <td colspan="2" align="center"> <input type="submit" value="업로드"></td> </tr> </table> </form>
1째줄의 enctype 엔코딩 타입을 설정해 주는 것이 중요하다.
-결과 화면
<%option explicit%> <% 'abcupload 를 이용한 파일 읽어와서 저장하기 시작. dim FileSize, fileSaveDir, Upload, getfile, upname,name1,name2 set Upload=server.createobject("ABCUpload.XForm")'XForm객체 생성 'Set Upload = Server.CreateObject("ABCUpload4.XForm") Upload.Maxuploadsize = 1024*1024*20 '최대 파일 사이즈 지정 Upload.AbsolutePath = True '절대 경로로 접근 Upload.Overwrite = True '같은 파일 있을 때 덮어쓰기 가능으로 설정 fileSaveDir = server.mappath("./") & "\upload\" 'upload 패스 Upload.CodePage = 949 'euc-kr로 인코딩 한글텍스트와 파일이름을 받기위함. upname = Upload("upname") '엔코딩 되어 넘어오기 때문에 때문에 form방식을 사용하지 못한다. '일반 텍스트항목등도 XForm객체를 이용하여 받아야만 한다. '단 QueryString(get방식)의 경우는 기존과 같이 받을 수 있다. 'enctype="multipart/form-data" Dim fso, fldr SET fso = CreateObject("Scripting.FileSystemObject") '파일시스템 오브젝트 생성 IF NOT(fso.FolderExists(fileSaveDir)) Then ' 폴더가 없으면 SET fldr = fso.CreateFolder(fileSaveDir) '폴더 생성 END IF SET fso = NOTHING '오브젝트 생성 해제 Set getfile = Upload("file")(1) 'XField객체를 생성하여 파일가져오기 (input file name을 써준다.) '파일이름이 같으니 (1)(2)등의 인덱스 요소를 사용. If getfile.FileExists Then '업로드된 파일이 있으면 name1 = getfile.RawFileName '파일이름 설정 후 getfile.Save fileSaveDir&name1 ' 파일 저장 End If Set getfile = Upload("file")(2) 'XField객체를 생성하여 파일가져오기 (input file name을 써준다.) '파일이름이 같으니 (1)(2)등의 인덱스 요소를 사용. If getfile.FileExists Then '업로드된 파일이 있으면 name2 = getfile.RawFileName '파일이름 설정 후 getfile.Save fileSaveDir&name2 ' 파일 저장 End If %> 업로드 이름 : <%=upname%><br> <img src="./upload/<%=name1%>"><br> <img src="./upload/<%=name2%>">
13줄의 CodePage 설정과, 그 밑 15줄의 일반 텍스트를 받아오는 방식을 유념해야 한다.
-결과화면
마지막으로 AbcUpload의 XForm,XField 객체의 속성과 메소드 이다.
Method |
Description |
Read |
Read in raw uploaded data from a file. |
Save |
Save the raw uploaded data. |
SetUser |
Impersonate a different user. |
Property |
Default |
Description |
Item |
Yes |
A set of fields referenced by name or number. |
Count |
No |
The number of field sets available. |
ID |
No |
The form unique ID. |
AbsolutePath |
No |
Whether to use absolute or virtual paths. |
Overwrite |
No |
Whether to overwrite existing files. |
MaxUploadSize |
No |
The maximum size of uploads to allow. |
User |
No |
The current identity being used by ABCUpload. |
Domain |
No |
The domain which the user belongs to. |
CodePage |
No |
The character set codepage to use. |
Multipart |
No |
Whether multipart data was submitted. |
Streams |
No |
Whether to use NTFS streams. |
Method |
Description |
Save |
Allows you to save the contents of a field. * 저장하는 메서드 |
Property |
Default |
Description |
Name |
No |
The name of the HTML field. |
Content |
Yes |
The content of the field as a string. |
Length |
No |
The size of the data held in the field. * 파일사이즈 |
FileExists |
No |
If a file was uploaded. * 업로드되었는지 |
FileName |
No |
The URL safe uploaded filename. |
FileType |
No |
The inferred file name extension of the file. |
MIMEType |
No |
The MIME type of the uploaded file. * 마임타입 |
MacBinary |
No |
If the file was encoded as MacBinary. |
SafeFileName |
No |
The Windows safe filename. |
RawFileName |
No |
The uploaded filename. * 파일이름 구하기 |
RawFileType |
No |
The file name extension of the file. |
RawFilePath |
No |
The uploaded filepath. |
Data |
No |
The data within the uploaded file. |
Resource |
No |
The resource data within the uploaded file. |
RawData |
No |
The raw uploaded file data. |
RawLength |
No |
The raw uploaded file length. |
ImageType |
No |
The type of image file uploaded.* 이미지파일종류 |
ImageWidth |
No |
The width of image file uploaded.* 이미지 넓이 |
ImageHeight |
No |
The height of image file uploaded.* 이미지 높이 |
'WEB > ASP' 카테고리의 다른 글
[ASP] IIS 윈도우 버전별 동시접속 허용제한 (0) | 2012.10.24 |
---|---|
[asp] 자주 까먹는 여러가지 함수들 (0) | 2011.12.08 |
[ASP] IIS 인코딩 설정 관련 UTF-8 한글 깨짐 문제 (0) | 2011.12.07 |
[asp] (link) ASP에서 sql을 이용한 시간지연. -번역 (0) | 2011.11.24 |
[ASP] IIS사이트 설정시 신경써야 할 부분들(부모경로 등, 중간중간 업데이트) (0) | 2011.10.24 |