ASP.NET 디자인 FTP 파일 업로드 솔 루 션

만약 에 ASP 로 FTP 파일 이 올 라 오 는 페이지 를 만 들 려 면 많은 사람들 이 제3자 가 개발 한 구성 요 소 를 사용 하고 제3자 의 구성 요 소 를 이용 하 는 것 이 비교적 쉬 울 것 이 라 고 생각 할 것 입 니 다.그러나 일반적으로 무료 로 다운로드 하 는 제3자 구성 요 소 는 특정한 기능 제한 이 있 습 니 다.정품 제3자 구성 요 소 를 구 매 하려 면 국내 사용자 에 게 비용 도 적지 않 은 숫자 입 니 다.감당 할 수 있 고 번 거 로 운 절차 도 많은 사람들 을 뒷걸음질 치 게 합 니 다.마이크로소프트 는 자체 윈도우 시스템 에서 도 파일 을 업로드 할 수 있 는 구성 요소 인 Posting Acceptor 를 제공 하고 있 지만.그러나 이 구성 요 소 를 사용 해 본 친구 들 은 모두 보편적 인 느낌 을 가지 고 있 지만 정말 사용 하기 어렵다.
이제 됐 습 니 다.마이크로소프트 가'Net FrameWork'를 출시 한 이후'Net FrameWork'의 중요 한 구성 부분 인 ASP.NET 은 내부 에 파일 업로드 기능 을 구축 하 였 으 며,이러한 기능 은 무료 이 며,사용 하기에 도 상당히 좋 습 니 다.다음은 하나의 예 를 통 해 ASP.NET 의 이러한 기능 을 이용 하여 파일 업 로드 를 완성 하 는 방법 을 소개 한다.
소프트웨어 작성 및 운영 환경
마이크로소프트 윈도우 2000 전문 판 과.Net FrameWork SDK BETA 2(마이크로소프트 가 개발 하여.Net 으로 개발 한 소프트웨어 개발 패키지 테스트 2 버 전).실행 중인 서버 의 하 드 디스크 파 티 션 이 NTSF 파 티 션 이 라면 서버 에 있 는 모든 하 드 디스크 의 액세스 속성 을 Everyone 으로 설정 하 십시오.업로드 파일 이 서버 하 드 디스크 에 올 바 르 게 기록 되 는 지 확인 할 수 있 습 니 다.
소프트웨어 의 기본 기능
이 소프트웨어 는 주로 로 컬 파일 을 서버 에 업로드 하 는 지정 한 디 렉 터 리 기능 을 완성 합 니 다.소프트웨어 실행 인터페이스 에서 사용자 가 업로드 할 파일 이름 을 선택 하고 서버 에 업로드 할 디 렉 터 리 이름 을 입력 한 후 서버 디 렉 터 리 에 업로드 할 디 렉 터 리 를 입력 하지 않 으 면 결 성 디 렉 터 리'C:\'를 사용 하고,입력 한 디 렉 터 리 가 서버 에 존재 하지 않 으 면 이 디 렉 터 리 를 만 드 는 것 이다.'업로드 시작'단 추 를 누 르 면 소프트웨어 는 선택 한 파일 을 지정 한 디 렉 터 리 에 업로드 한 다음 파일 의 이름,파일 의 크기 와 파일 의 형식 을 되 돌려 줍 니 다.소프트웨어 의 구체 적 인 조작 인터페이스 와 운행 결과 인 터 페 이 스 는 다음 과 같다.
 
그림 1:소프트웨어 의 조작 인터페이스
 
그림 2:소프트웨어 의 운행 결과 인터페이스
3.소프트웨어 디자인 의 중요 한 절차 와 구체 적 인 해결 방법
(1).서버 에 업로드 할 파일 을 선택 하 십시오.
우선 ASP.NET 의 강력 한 기능 에 감사 해 야 합 니 다.그 가 제공 한 HTML 제어 부품 은 우리 가 업로드 할 파일 을 대화 상 자 를 통 해 쉽게 선택 할 수 있 도록 해 줍 니 다.물론 브 라 우 저 는 IE 3.02 나 Netscape 3.0 버 전이 나 이 두 버 전보 다 높 은 브 라 우 저 여야 합 니 다.다음 문장 을 통 해 로 컬 파일 을 선택 하 는 작업 을 완성 할 수 있 습 니 다.
<input id = " loFile " type = " file " runat = " server " >
(2).파일 업로드 작업 을 성공 적 으로 완료 하기 위해 서 는 Form 의 인 코딩 은"multipart/form-data"를 사용 해 야 하 며,From 의 결 성 된 인 코딩"application/x-www-form-urlencoded"를 사용 하지 않 아 도 됩 니 다.구체 적 인 코드 는 다음 과 같다.
<form method = " post " enctype =" multipart/form-data " runat = " server ">
</form >
(3).업 로드 된 파일 이름과 디스크 에 대한 약간의 조작 을 가 져 옵 니 다.
업 로드 된 파일 이름 을 얻 기 위해 서 는 이름 공간(Namesapce)인 System.IO 를 도입 해 야 합 니 다.이 이름 공간 에 서 는 파일 과 디스크 작업 에 관 한 많은 종 류 를 정의 합 니 다.이 소프트웨어 에 서 는 이러한 방법 과 속성 을 통 해 소프트웨어 의 일부 기능 을 완성 합 니 다.
(1).업로드 파일 의 이름 가 져 오기
Path 클래스 의 GetFileName 방법 을 사용 합 니 다.구체 적 으로 다음 과 같 습 니 다.
lstrFileName = loFile.PostedFile.FileName
'주:loFile.Posted File.FileName 은 파일 대화 상 자 를 통 해 선택 한 파일 이름 을 되 돌려 줍 니 다.
여기에 파일 의 디 렉 터 리 정보 가 포함 되 어 있 습 니 다.
lstrFileName = Path.GetFileName ( lstrFileName )
'디 렉 터 리 정 보 를 지우 고 파일 이름 을 되 돌려 줍 니 다.
(2).업로드 디 렉 터 리 가 존재 하 는 지 판단 하고 존재 하지 않 으 면 만 듭 니 다.
디 렉 터 리 를 만 드 는 데 사용 할 CreateDirectory 방법 은 디 렉 터 리 클래스 에 사용 할 Exists 방법 이 있 는 지 판단 합 니 다.구체 적 으로 다음 과 같다.
If ( not Directory.Exists( lstrFileFolder ) ) Then
 Directory.CreateDirectory ( lstrFileFolder )
End If
'주:lstrFileFolder 는 사용자 가 입력 한 디 렉 터 리 이름 또는 결 성 된 디 렉 터 리 이름 입 니 다.
(4).선택 한 파일 을 서버 에 업로드 합 니 다.
앞에서 작업 이 끝 난 후에 파일 을 업로드 할 수 있 습 니 다.파일 을 업로드 하 는 것 이 상대 적 으로 간단 합 니 다.아래 두 줄 의 문구 로 업로드 작업 을 완성 할 수 있 습 니 다.
lstrFileNamePath = lstrFileFolder & lstrFileName
'업로드 디 렉 터 리 및 파일 이름 가 져 오기
loFile.PostedFile.SaveAs ( lstrFileNamePath )
서버 에 파일 업로드
(5).업로드 파일 의 속성 을 가 져 오고 표시 합 니 다.
FileName.Text = lstrFileName
'파일 이름 가 져 오기
FileType.Text = loFile.PostedFile.ContentType
'파일 형식 가 져 오기
FileLength.Text = cStr ( loFile.PostedFile.ContentLength )
'파일 길이 가 져 오기
FileUploadForm.visible = false
AnswerMsg.visible = true
'업로드 파일 속성 보이 기
이상 은 이 소프트웨어 가 작성 할 때 비교적 중요 한 부분 입 니 다.
프로그램 소스 코드

<% @ Import Namespace=" System.IO " %>
<html >
<BODY >
<SCRIPT LANGUAGE = "VB" RUNAT = "SERVER" > 
 Sub UploadFile_Clicked ( Sender as Object, e as EventArgs ) 
  Dim lstrFileName as string 
  Dim lstrFileNamePath as string 
  Dim lstrFileFolder as string 
  '         ,   " c:\ "         
  '              
  if dir.value <> "" then 
   lstrFileFolder = dir.value 
  else 
   lstrFileFolder = "c:\" 
  end if 

  '        
  lstrFileName = loFile.PostedFile.FileName
   '  : loFile.PostedFile.FileName     
                ,             
  lstrFileName = Path.GetFileName ( lstrFileName ) 
   '       ,      

  '           ,       
  If ( not Directory.Exists ( lstrFileFolder ) ) Then 
   Directory.CreateDirectory ( lstrFileFolder ) 
  End If 

   '         
  lstrFileNamePath = lstrFileFolder & lstrFileName 
   '             
  loFile.PostedFile.SaveAs ( lstrFileNamePath ) 

   '              
  FileName.Text = lstrFileName
   '       
  FileType.Text = loFile.PostedFile.ContentType 
   '       
  FileLength.Text = cStr ( loFile.PostedFile.ContentLength ) 
   '       
  FileUploadForm.visible = false 
  AnswerMsg.visible = true
   '         
  End sub 
</SCRIPT >
<ASP:panel id = "FileUploadForm" visible = " true " runat = "server" > 
<form method = "post" enctype = "multipart/form-data" runat = "server" >
 <h1 >     ASP.NET         </h1 >
                : 
 <input id = "loFile" type = "file" runat = "server" > <br >
                : 
 <input id = "dir" type = "text" runat = "server" > <br >
 <input type = "submit" value = "    " OnServerClick = "  
   UploadFile_Clicked" runat = "server" >
 <br >
</form >
</ASP:panel >
<ASP:panel id = "AnswerMsg" visible = " false " runat = "server" >
     ASP.NET         <br >
      <ASP:label id = "FileName" runat = "server" /> <br > 
      <ASP:label id = "FileLength" runat = "server" />    <br >       <ASP:label id = "FileType " runat = "server" /> <br > 
</ASP:panel >
</BODY >
</HTML >
총화
이로써 우 리 는 비교적 완벽 한 FTP 파일 업로드 소프트웨어 의 모든 작업 을 완성 했다.이 를 통 해 알 수 있 듯 이 ASP.NET 의 기능 은 비교적 강하 다.이 를 통 해 ASP.NET 을 유연 하 게 활용 하려 면 마이크로소프트 가.NET FRAMEWORK 를 위해 개발 한 소프트웨어 개발 패키지(SDK BETA 2)도 깊이 파악 해 야 한다.NET FRAMEWORK 가 개발 한 소프트웨어 개발 패 키 지 를 파악 해 야 ASP.NET 으로 기능 이 더 강하 고 생명력 이 더 큰 소프트웨어 를 개발 할 수 있다.
이상 은 ASP.NET 디자인 FTP 파일 을 이용 하여 업로드 하 는 모든 과정 입 니 다.ASP.NET 디자인 FTP 파일 업로드 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기