ASP 에서 파일을 업로드 하기 위해서 사용하는 컴포넌트에는 여러가지가 있는데요, 별도의 설치없이 asp파일만 include 하면 되는 freeaspupload 가 가장 간단하게 해결할 수 있는 방법입니다만, 좀더 복잡한 설정과 기능을 구현하기 위해서는 대부분 dll 형태로 등록 후 사용하는 컴포넌트를 많이 사용하고 있습니다.
Tabs Upload 를 많이 사용했었는데, 유료화 되는 바람에 30만원 정도 지불해야 사용할 수 있는 상황입니다. 물론, 기존의 무료버전 dll 이 있으면 가능하긴 하지만, H/W가 바뀌게 되면 30일 이후에는 사용중지되게 됩니다.
ABCUpload 는 아직 무료버전 가능합니다
ABCUpload 역시 유료화 되긴 했지만, 마지막 무료버전 dll 을 사용하면 H/W 변경과 무관하게 사용할 수 있습니다. 아래에 마지막 무료버전인 4.1 dll 파일을 첨부하여 두었습니다.
위 dll 파일을 다운로드 받은 후 명령프롬프트에서 regsvr32 ABCUpload4.dll 와 같이 입력하여 dll 등록 후 사용하시면 됩니다.
아래 코드는 <form> 에서 file 이라는 이름으로 전달된 파일을 받아서 C:\upload 폴더로 업로드 하기위한 코드입니다. 이때 <form>에서 전달되는 다른 값을 전달받기 위해서는 아래코드의 제목, 내용 부분 코드를 확인하시면 됩니다.
파일 업로드 후에 적당히 DB에 INSERT 하는 코드를 추가하시면 되겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Set theForm = Server.CreateObject("ABCUpload4.XForm") '업로드 객체를 생성
theForm.AbsolutePath = True '업로드 위치를 절대경로로 설정함
theForm.MaxUploadSize = 20000000 '최대업로드 사이즈 20메가 (수정가능)
upload_folder = "C:\upload" '업로드 위치
Set theField = theForm("file")(1) ' form 에서 전달된 첨부파일
fileName = theField.SafeFileName ' 파일명을 읽어온다
subject = theForm("subject") 'form 에서 전달된 기타값 ex) 제목
content = theForm("content")'form 에서 전달된 기타값 ex) 내용
if Len(fileName) > 0 then
theField.Save upload_folder&fileName '실제로 파일을 업로드 한다
end if
|
cs |
댓글 영역