快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

  在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服务器。

***************
(很复杂吧,简朴点,下面看一下使用“上传文件治理器”实现虚拟FTP服务器的方式)
***************
1、下载软件安装后,将随软件提供的ASP文件使用FTP软件上传到网站上(如上传到 webfiles 下)

2、执行客户端软件,并将服务器路径设置成上传的文件夹,超级治理员的用户名和密码均为 admin

3、进行用户治理,添加、删除、修改、启用/禁用、限制用户上传文件的大小

4、OK, 虚拟FTP服务器建立完毕,所有用户均通过该软件(在客户端)对自己的文件进行治理。软件的操作方法与资源治理器类似。

5、该软件还提供了一些应用实例的ASP源码,大家自己去看好啦。
返回类别: 教程
上一教程: ASP之对象总结
下一教程: 菜鸟十天学会ASP教程之第九天:SESSION组件

您可以阅读与"如何使用ASP建立虚拟的FTP服务器"相关的教程:
· 如何使用ASP在自己的网站建立投票机制(二)
· 如何使用ASP在自己的网站建立投票机制(一)
· 如何防止ASP木马在服务器上运行
· 防护手册:如何防止ASP木马在服务器上运行
· 如何使用JAVASCRIPT来写ASP程序
    微笑服务 优质保证 索取样品