파일 업로드 기능은 ASP의 컴포넌트 또는 컴포넌트 없는 업로드 기술을 사용하여 실현할 수 있습니다. 이를 통해 우리는 ASP의 컴포넌트 없는 업로드 기술을 사용하여 우리 웹사이트에 가상 FTP 서버를 구축할 수 있습니다. 실제 FTP 서버처럼 우리는 여러 사용자에게 원격 파일 관리를 제공할 수 있습니다 . 동시에 각 사용자는 자신의 문서만 조작할 수 있습니다. .
파일이 업로드되면 ASP는 FSO 또는 데이터베이스를 사용하여 파일 데이터를 저장할 수 있습니다(일부 서버는 FSO 기능을 제공하지 않음). 여기서는 사용자가 업로드한 파일을 저장하기 위해 데이터베이스를 사용합니다 . 데이터베이스 사용의 이점에 대해서는 다루지 않지만 많은 것이 있습니다. 또 다른 이유는 IIS가 파일 업로드 크기를 제한(대략 최대 200KB)하기 때문입니다. 데이터베이스 방식을 사용하면 재개 기술을 사용하여 이 제한을 극복할 수 있으며 매우 큰 파일, 매우 큰 파일, 무한히 큰 파일 등을 업로드할 수 있습니다 . .
*****************
(하하, 말도 안되는 소리를 많이 했습니다. 먼저 구현의 원리와 방법에 대해 이야기한 다음 소프트웨어를 사용하여 구현하는 방법에 대해 이야기하겠습니다.)
*****************
● 1단계: 서버에 데이터베이스를 생성합니다(ACCESS, SQL-SERVER, MYSQL 모두 허용됨). 더 간단한 방법은 ACCESS입니다. 데이터베이스에 두 개의 테이블을 만듭니다.
업로드 사용자 관리: admin (ID, 이름, 비밀번호, 유형)
업로드된 파일 데이터를 저장합니다: 파일(ID, ParentID, FileName, FileLength, FileType, FileData, UpDate, UserID).
FileLength=0이면 폴더라는 의미이며, 각 사용자마다 루트 폴더가 생성됩니다.
● 2단계: 사용자 로그인 페이지를 생성하고 SESSION을 사용하여 사용자 ID를 저장하여 파일 작업을 제한합니다.
세션("이름") = list("S이름")
Session("UID") = list("ID")
● 3단계: 사용자 홈 페이지 생성(사용자가 업로드한 파일 표시)
strSQL = "SELECT * FROM files WHERE ParentID=" & userRootID ' userRootId는 사용자의 루트 폴더 ID입니다.
strSQL = strSQL & " AND UserID=" & SESSION("UID")
strSQL = strSQL & " ORDER BY FileName"
● 4단계: 파일 페이지 목록 업로드.AddNew
list("ParentID") = userRootID
list("파일이름") = Form("이름")
list("파일 길이") = Form("길이")
list("파일 유형") = Form("유형")
list("FileData").AppendChunk MidB(sdata,Form("시작"),Form("길이"))
list("UserID") = 세션("UID")
list("UpDate") = 지금()
list.Update
● 5단계: 파일 관리 작업(파일 ID를 사용하여 파일을 식별하고 사용자 작업을 제한)
삭제: "DELETE * FROM 파일 WHERE ID=" & iID & " AND UserID=" & 세션("UID")
다운로드: "SELECT * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID")
Set conn = Server.CreateObject("ADODB.Connection")
conn.myConnStr 열기
세트 목록 = conn.Execute("SELECT * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID"))
목록이 아닌 경우.EOF 그런 다음
list("FileLength") > 0이면
Response.AddHeader "콘텐츠 처리", "inline; filename=" & list("FileName")
Response.ContentType = list("파일 유형")
Response.Binarywrite(list("FileData").GetChunk(list("FileLength")))
종료 조건
End If
● 다른 보조 작업 페이지를 완료하면 됩니다. 물론, 브라우저의 한계로 인해 파일업로드 이력서 기술을 직접 사용할 수는 없으며, 클라이언트 소프트웨어를 통해서만 구현할 수 있습니다 . 위의 기능을 구현하는 "파일 업로드 관리자"(ASP 소스 코드 포함)라는 소프트웨어가 인터넷에 있습니다. 아래에서는 이 소프트웨어를 사용하여 자체 가상 FTP 서버를 만드는 방법에 대해 설명합니다.
소프트웨어 다운로드 주소: http://www.blue999.com/webfiles/uploadfiles_setup.exe
***************
(매우 복잡합니다. 단순하게 유지하세요. "파일 업로드 관리자"를 사용하여 가상 FTP 서버를 구현하는 방법을 살펴보겠습니다.)
***************
● 1. 소프트웨어를 다운로드하여 설치한 후, 소프트웨어와 함께 제공되는 ASP 파일을 FTP 소프트웨어를 사용하여 웹사이트에 업로드합니다(예: 웹파일로 업로드).
● 2. 클라이언트 소프트웨어를 실행하고 업로드된 폴더에 대한 서버 경로를 설정합니다. 최고 관리자의 사용자 이름과 비밀번호는 모두 admin입니다.
● 3. 사용자 관리, 사용자가 업로드한 파일의 추가, 삭제, 수정, 활성화/비활성화, 크기 제한 등을 수행합니다.
● 4. 가상 FTP 서버가 설정되고 모든 사용자는 클라이언트의 소프트웨어를 통해 파일을 관리합니다. 소프트웨어는 탐색기와 유사하게 작동합니다.
● 5. 소프트웨어는 일부 응용 프로그램 예제의 ASP 소스 코드도 제공합니다.