如何使用ASP建立虛擬FTP伺服器

來源:互聯網
上載者:User
在ASP中採用組件或無組件上傳技術,均可以實現檔案的上傳功能。由此我們可以採用ASP的無組件上傳技術,在我們自己的網站上建立一個虛擬FTP伺服器, 象真正的FTP伺服器一樣,為多個使用者提供遠程檔案的管理,同時各個使用者只能操作自己的檔案。

  當檔案上傳的時候,ASP可以採用FSO或資料庫方式來儲存檔案資料(有些伺服器並沒有提供FSO功能)。這裡我採用資料庫來儲存使用者所上傳的檔案,採用資料庫的優點我就不說了,總之很多。還有一個原因就是IIS限制了檔案上傳的大小(大概最大200KB吧),使用資料庫方式可以採用續傳技術突破這個限制,可以上傳很大的檔案,很大很大,無限大,……。

*****************
(哈哈,廢話講了一大堆,下面先講講實現的原理和方法,然後再講使用軟體實現的方法)
*****************

● 第一步:在伺服器上建立一個資料庫(ACCESS、SQL-SERVER、MYSQL均可以),簡單一點就ACCESS吧。資料庫內建立兩個表:
  上傳使用者管理用:admin(ID, Name, Password, Type)
  儲存上傳檔案資料:files(ID, ParentID, FileName, FileLength, FileType, FileData, UpDate, UserID)。
  如果FileLength=0,則表示其為檔案夾,並且為每個使用者建立一個根資料夾。

● 第二步:建立使用者登陸頁面,並使用SESSION將使用者的ID儲存起來,用於限制其對檔案的操作。
  Session("Name") = list("SName")
  Session("UID") = list("ID")

● 第三步:建立使用者首頁面(顯示使用者上傳過的檔案)
  strSQL = "SELECT * FROM files WHERE ParentID=" & userRootID ' userRootId 為使用者根資料夾的ID
  strSQL = strSQL & " AND UserID=" & SESSION("UID")
  strSQL = strSQL & " ORDER BY FileName"

● 第四步:上傳檔案頁面
  list.AddNew
  list("ParentID") = userRootID
  list("FileName") = Form("Name")
  list("FileLength") = Form("Length")
  list("FileType") = Form("Type")
  list("FileData").AppendChunk MidB(sdata,Form("Start"),Form("Length"))
  list("UserID") = Session("UID")
  list("UpDate") = Now()
  list.Update

● 第五步:檔案管理操作(使用檔案的ID對檔案進行表識,並且對使用者的操作進行限制)
  刪除:"DELETE * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID")
  下載:"SELECT * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID")

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open myConnStr
Set list = conn.Execute("SELECT * FROM files WHERE ID=" & iID & " AND UserID=" & Session("UID"))
If NOT list.EOF Then
If list("FileLength") > 0 Then
  Response.AddHeader "Content-disposition", "inline; filename=" & list("FileName")
  Response.ContentType = list("FileType")
  Response.Binarywrite(list("FileData").GetChunk(list("FileLength")))
End If
End If

● 再完成一些其他的輔助操作頁面即可。當然由於瀏覽器的限制,檔案上傳的續傳技術不能直接使用,只能通過用戶端軟體來實現。網路上有個軟體叫“上傳檔案管理工具”(包含ASP原始碼),實現了上面的功能。下面我們將討論如何利用這個軟體來建立我們自己的虛擬FTP伺服器。

軟體下載地址:http://www.blue999.com/webfiles/uploadfiles_setup.exe

***************
(很複雜吧,簡單點,下面看一下使用“上傳檔案管理工具”實現虛擬FTP伺服器的方法)
***************

● 1、下載軟體安裝後,將隨軟體提供的ASP檔案使用FTP軟體上傳到網站上(如上傳到 webfiles 下)

● 2、執行用戶端軟體,並將伺服器路徑設定成上傳的檔案夾,超級管理員的使用者名稱和密碼均為 admin

● 3、進行使用者管理,添加、刪除、修改、啟用/禁用、限制使用者上傳檔案的大小

● 4、OK, 虛擬FTP伺服器建立完畢,所有使用者均通過該軟體(在用戶端)對自己的檔案進行管理。軟體的操作方式與資源管理員類似。

● 5、該軟體還提供了一些應用執行個體的ASP源碼,大家自己去看好啦。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.