科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道如何使用ASP建立虚拟的FTP服务器

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

由此我们可以采用ASP的无组件上传技术,在我们自己的网站上建立一个虚拟的FTP服务器,象真正的FTP服务器一样,为多个用户提供远程文件的管理,同时各个用户只能操作自己的文件。

作者:巧巧读书 来源:巧巧读书 2008年6月25日

关键字: 网吧 网吧组网 网吧服务器架设

  • 评论
  • 分享微博
  • 分享邮件

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

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章