컴퓨터의 사진이나 파일을 서버에 저장하려면 어떻게 해야 합니까? 세 가지 옵션이 있습니다: 1. FTP 업로드, 2. USB 플래시 드라이브를 사용하여 서버에 복사, 3. 서버가 다음을 지원하는 경우 ASP 업로드 기능, 웹 페이지를 사용하여 브라우저가 파일을 서버에 업로드합니다.
오늘은 ASP의 업로드 기능을 사용하여 로컬 파일을 서버에 업로드하는 방법을 설명합니다.
가장 간단한 시스템에는 다음 세 가지 파일이 포함됩니다.
upload.htm --포트 파일 업로드, 로컬 파일 선택 uploadimg.asp --프로그램 제어 파일 업로드 upload_5xsoft.inc --구성요소 업로드 클래스 없음, 초보자는 이 파일을 사용할 수 있는 한 이 파일을 배울 필요가 없습니다.
upload.htm 콘텐츠--포트 파일 업로드, 로컬 파일 선택
- <html>
- <머리>
- </head>
- <본문>
- <테이블너비=80%국경=0정렬=가운데>
- <formname=form1method=postaction=uploadimg.aspenctype=multipart/form-data>
- <tr>
- <tdalign=center><inputname=upfiletype=fileid=upfile></td>
- </tr>
- <tr>
- <tdalign=center><inputtype=submitname=Submitvalue=사진 업로드></td>
- </tr>
- </form>
- </table>
- </body>
- </html>
uploadimg.asp 콘텐츠--프로그램 제어 파일 업로드
- <!--#includeFILE=upload_5xsoft.inc-->
- <%
- 딤업로드,파일,파일경로
- 파일 경로=업로드/
- setupload=newupload_5xSoft''업로드 객체 생성
- foreachformNameinupload.file''은 업로드된 모든 파일을 나열합니다.
- setfile=upload.file(formName)''은 파일 객체를 생성합니다.
- iffile.FileSize>0then''FileSize>0이면 파일 데이터가 있음을 의미합니다.
- fname=파일.파일 이름
- file.SaveAsServer.mappath(파일 경로&f이름)''파일 저장
- 엔디프
- 세트파일=아무것도 없음
- 다음
- setupload=nothing''이 개체 삭제
upload_5xsoft.inc 콘텐츠
--이 파일의 내용은 이 훈련의 내용에 속하지 않습니다. 이 훈련은 이 방법을 적용합니다.
- <SCRIPTRUNAT=SERVERLANGUAGE=VBSCRIPT>
- dimoUpFileStream
- Classupload_5xSoft
- 희미한 형식, 파일, 버전
- PrivateSubClass_Initialize
- 희미한RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
- dimiFileSize,sFilePath,sFileType,sFormvalue,sFileName
- dimiFindStart,iFindEnd
- dimiFormStart,iFormEnd,sFormName
- 버전=구성요소 업로드 클래스가 없습니다. Version0.93
- setForm=Server.CreateObject(Scripting.Dictionary)
- setFile=Server.CreateObject(Scripting.Dictionary)
- ifRequest.TotalBytes<1thenExitSub
- settStream=Server.CreateObject(adodb.stream)
- setoUpFileStream=Server.CreateObject(adodb.stream)
- oUpFileStream.Type=1
- oUpFileStream.Mode=3
- oUpFileStream.Open
- oUpFileStream.WriteRequest.BinaryRead(Request.TotalBytes)
- Response.Write<fontsize=2>페이지 실행 시간: &FormatNumber((Timer()-time1)*1000,3)&밀리초</font><br>
- oUpFileStream.Position=0
- RequestBinDate=oUpFileStream.Read
- iFormStart=1
- iFormEnd=LenB(RequestBinDate)
- bCrLf=chrB(13)&chrB(10)
- sStart=MidB(RequestBinDate,1,InStrB(iFormStart,RequestBinDate,bCrLf)-1)
- iStart=LenB(sStart)
- iFormStart=iFormStart+iStart+1
- while(iFormStart+10)<iFormEnd
- iInfoEnd=InStrB(iFormStart,RequestBinDate,bCrLf&bCrLf)+3
- tStream.유형=1
- tStream.모드=3
- tStream.Open
- oUpFileStream.Position=iFormStart
- oUpFileStream.CopyTotStream,iInfoEnd-iFormStart
- tStream.위치=0
- tStream.Type=2
- tStream.Charset=gb2312
- sInfo=tStream.ReadText
- '양식 항목 이름 가져오기
- iFormStart=InStrB(iInfoEnd,RequestBinDate,sStart)
- iFindStart=InStr(22,sInfo,name=,1)+6
- iFindEnd=InStr(iFindStart,sInfo,,1)
- sFormName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)
- '파일이라면
- ifInStr(45,sInfo,filename=,1)>0then
- setoFileInfo=newFileInfo
- '파일명을 알아내세요
- iFindStart=InStr(iFindEnd,sInfo,파일 이름=,1)+10
- iFindEnd=InStr(iFindStart,sInfo,,1)
- sFileName=Mid(sinfo,iFindStart,iFindEnd-iFindStart)
- oFileInfo.FileName=getFileName(s파일이름)
- oFileInfo.FilePath=getFilePath(s파일 이름)
- '파일 형식 가져오기
- iFindStart=InStr(iFindEnd,sInfo,Content-Type:,1)+14
- iFindEnd=InStr(iFindStart,sInfo,vbCr)
- oFileInfo.FileType=Mid(sinfo,iFindStart,iFindEnd-iFindStart)
- oFileInfo.FileStart=iInfoEnd
- oFileInfo.FileSize=iFormStart-iInfoEnd-3
- oFileInfo.FormName=sFormName
- file.addsFormName,o파일정보
- 또 다른
- '양식 항목인 경우
- tStream.Close
- tStream.유형=1
- tStream.모드=3
- tStream.Open
- oUpFileStream.Position=iInfoEnd
- oUpFileStream.CopyTotStream,iFormStart-iInfoEnd-3
- tStream.위치=0
- tStream.Type=2
- tStream.Charset=gb2312
- sFormvalue=tStream.ReadText
- form.AddsFormName,sFormvalue
- 엔디프
- tStream.Close
- iFormStart=iFormStart+iStart+1
- 향하게 하다
- 요청BinDate=
- setStream=아무것도 없음
- EndSub
- PrivateSubClass_Terminate
- ifnotRequest.TotalBytes<1then
- form.RemoveAll
- 파일.모두 제거
- 세트폼=아무것도 없음
- 세트파일=아무것도 없음
- oUpFileStream.Close
- setoUpFileStream=아무것도 없음
- 엔디프
- EndSub
- PrivatefunctionGetFilePath(전체 경로)
- IfFullPath<>Then
- GetFilePath=왼쪽(전체 경로, InStrRev(전체 경로,))
- 또 다른
- 파일 경로 가져오기=
- 종료
- 기능 종료
- PrivatefunctionGetFileName(전체 경로)
- IfFullPath<>Then
- GetFileName=mid(FullPath,InStrRev(FullPath,)+1)
- 또 다른
- 파일이름 가져오기=
- 종료
- 기능 종료
- EndClass
- 클래스파일정보
- 희미한 형식 이름, 파일 이름, 파일 경로, 파일 크기, 파일 유형, 파일 시작
- PrivateSubClass_Initialize
- 파일 이름=
- 파일 경로=
- 파일크기=0
- 파일시작=0
- 양식 이름=
- 파일 유형=
- EndSub
- PublicfunctionSaveAs(전체 경로)
- dimoFileStream,ErrorChar,i
- 다른 이름으로 저장=1
- iftrim(fullpath)=orright(fullpath,1)=/thenexit함수
- setoFileStream=CreateObject(Adodb.Stream)
- oFileStream.Type=1
- oFileStream.Mode=3
- oFileStream.Open
- oUpFileStream.position=FileStart
- oUpFileStream.copytooFileStream,파일 크기
- oFileStream.SaveToFileFullPath,2
- oFileStream.Close
- setoFileStream=아무것도 없음
- 다른 이름으로 저장=0
- 최종 기능
- EndClass
- </SCRIPT>
이 기사에서 설명하는 것은 파일 업로드를 위한 가장 간단한 프로그램입니다. 친구 여러분, 직접 분석해 보십시오. 이 훈련을 배우면 기본적으로 ASP의 일반적인 업로드 기능을 마스터하게 됩니다.