ClassicASP 파일업로드처리 입력,수정,삭제시 asp 코드정리
페이지 정보
본문
조건1. form 전송된 파일 이름은 attach 이다.
조건2. attach 를 사이트갤럭시 컴포넌트를 이용해서 받았다.(다른컴포넌트인경우 속성만 바꾸어주시오.)
조건3. 현재파일 하위에 data란 폴더에 저장되며 data폴더는 읽고 쓰기가 가능하다.
1.등록폼 파일처리
if attach <> "" then
Set FSO = CreateObject("Scripting.FileSystemObject")
strDirectory = server.MapPath("./data")
'서버내 파일이 저장되는 위치
attach_file = UploadForm("attach").FilePath
'저장될 파일의 이름을 얻는다.
FileSize = UploadForm("attach").Size
'저장될 파일의 Size
FileName = Mid(attach_file, InstrRev(attach_file, "\") + 1)
'파일명을 얻는다.
strName = Mid(FileName, 1, Instr(FileName, ".") -1)
'확장자를 제외한 파일명을 얻는다.
strExt = Mid(FileName, Instr(FileName, ".") + 1)
'확장자를 얻는다.
bExist = True
'우선 같은 파일이 존재한다고 가정
strFileName = strDirectory &"\"& strName & "." & strExt
'지정할 파일의 완전한 이름만듬
'파일을 실제로 저장한다.
UploadForm("attach").SaveAs (strFileName)
end if
SQL문에 FileName 변수로 저장한다.
2. 수정폼 파일처리
'만약 수정폼에서 파일을 첨부하면 기존파일을 삭제하고 새로 올린다.
if attach <> "" then
'파일이 저장되는 경로를 정의한다.
strDirectory = server.MapPath("./data")
'기존에 있는 파일을 찾아서 삭제한다.
SQL = "select * from 테이블명 where seq='"&seq&"'"
set rs1 = DbCon.Execute(SQL)
strFileDirectory = strDirectory&"\"&rs1("attach")
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strFileDirectory)) Then
' 파일이 있으면, 삭제
fso.DeleteFile(strFileDirectory)
End If
attach_file = UploadForm("attach").FilePath
'저장될 파일의 패스를 얻는다.
FileSize = UploadForm("attach").Size
'저장될 파일의 Size
FileName = Mid(attach_file, InstrRev(attach_file, "\") + 1)
'파일명을 얻는다.
strName = Mid(FileName, 1, Instr(FileName, ".") -1)
'확장자를 제외한 파일명을 얻는다.
strExt = Mid(FileName, Instr(FileName, ".") + 1)
'확장자를 얻는다.
bExist = True
'우선 같은 파일이 존재한다고 가정
strFileName = strDirectory &"\"& strName & "." & strExt
'지정할 파일의 완전한 이름만듬
'파일을 실제로 저장한다.
UploadForm("attach").SaveAs (strFileName)
end if
SQL문에 FileName 변수로 저장한다.
3. 파일 삭제처리
'쿼리문을 날려서 DB에서 파일이름을 가져온다.
SQL = "select * from 테이블명 where seq='"&request("seq")&"'"
set rs1 = DbCon.Execute(SQL)
strFileDirectory = server.MapPath("./data")&"\"&rs1("attach")
Set fso = CreateObject("Scripting.FileSystemObject")
If (fso.FileExists(strFileDirectory)) Then
' 파일이 있을때만 삭제하고 없을경우 에러문을 출력하지 않고 넘어간다.
fso.DeleteFile(strFileDirectory)
End If
delete 문을 날려서 DB에 있는 내용을 삭제한다.
출처 : http://cafe.naver.com/gosok.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=110
댓글목록
등록된 댓글이 없습니다.