如何使用ASP建立虚拟的FTP服务器
2015-03-10来源:

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=" & userRootIDuserRootId 为用户根文件夹的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对文件进行表识,并且对用户的操作进行限制)

更多信息请查看IT技术专栏

推荐信息
Baidu
map