分享
 
 
 

如何使用ASP建立虚拟的FTP服务器

王朝asp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

在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源码,大家自己去看好啦。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有