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

  

   当文件上传的时候,ASP可以采用FSO或<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>方式来保存文件数据(有些服务器并没有提供FSO 功能)。这里我采用<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>来保存用户所上传的文件,采用<b> <a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>的优点我就不说了,总之很多。还有一个原因就是 IIS限制了文件上传的大小(大概最大200KB吧),使用<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>方式可以采用续传技术突破这个限制,可以上传很大 的文件,很大很大,无限大,……。

  

  

  ● 第一步:在服务器上建立一个<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>(ACCESS、SQL-SERVER、 MYSQL均可以),简单一点就ACCESS吧。<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=数据库 target="_blank"><font color=red>数据库</font></a></b>内建立两个表:

  上传用户治理用: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服务器。

  

  软件下载地址:<a href="[url]http://www.chinaaspx.com/uploadfiles_setup.rar[/url]" target=_blank>[url]http://www.chinaaspx.com/uploadfiles_setup.rar</a>[/url]

  

  ***************

  (很复杂吧,简单点,下面看一下使用“上传文件治理器”实现虚拟FTP服务器的方法)

  ***************

  

  ● 1、下载软件安装后,将随软件提供的ASP文件使用FTP软件上传到网站上(如上传到 webfiles 下)

  

   ● 2、执行客户端软件,并将服务器路径设置成上传的文件夹,超级治理员的用户名和<b><a href=http://www.baidu.com/s?tn=piglet&ct=&lm=&z=&rn=& word=密码 target="_blank"><font color=red>密码</font></a></b>均为 admin

    

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

    

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

  

  ● 5、该软件还提供了一些应用实例的ASP源码,大家自己去看好啦

转载于:https://blog.51cto.com/liancao/86045

如何使用ASP建立虚拟的FTP服务器相关推荐

  1. 怎么在linux下使用ftp服务器,怎么在Linux下建立安全的FTP服务器?

    怎么在Linux下建立安全的FTP服务器? 2018-08-31 15:53 分享人:老牛 学习Linux系统时,你可能会遇到网络服务的问题,这里将介绍linux FTP服务器安全及DHCP服务的实现 ...

  2. 虚拟主机ftp服务器,虚拟主机ftp服务器

    虚拟主机ftp服务器 内容精选 换一换 用户使用hostname命令查看不同镜像的裸金属服务器主机名,发现部分镜像的裸金属服务器主机名带后缀.novalocal,如示例所示:假设创建裸金属服务器时,用 ...

  3. ftp服务器新建虚拟目录,ftp服务器 虚拟目录

    ftp服务器 虚拟目录 内容精选 换一换 下载地址:https://github.com/gmarcais/Jellyfish/releases/download/v2.2.10/jellyfish- ...

  4. FTP服务器软件 虚拟目录,FTP服务器软件 虚拟目录

    FTP服务器软件 虚拟目录 内容精选 换一换 本工具仅适用于开发和测试环境.安装Java性能分析之前,请参照表1确认用于安装的系统运行环境是否符合要求.Java性能分析相关的依赖软件包如表2所示.依赖 ...

  5. 如何建立一个FTP服务器(SERV-U使用教程)

    在此有必要把Serv-U中的一些重要的概念给大家讲清楚:每个正在运行的Serv-U引擎可以被用来运行多个"虚拟"的FTP服务器,在管理员程序中,每个"虚拟"的F ...

  6. Pure-Ftp:基于虚拟账号的FTP服务器

    小编:为了实现局域网用户的文件共享服务,FTP服务器在企业网中扮演着很重要的角色.在Linux环境下,传统的基于vsftpd搭建的FTP服务器,存在着很多不足之处,不能支持虚拟账号的概念,管理起来很不 ...

  7. 怎么建立FTP服务器?

    根据我所知道的回答一下这个问题. ftp服务器常用于局域网内网共享数据使用,当然internet上也有一些ftp服务器.ftp服务器使用了21端口号.ftp提供文件的上传和下载服务,当然管理员也可以根 ...

  8. Serv-U组建个人FTP服务器, ——完全图解教程:FTP架设、端口映射、动态域名申请...

    serv-u组建个人ftp服务器, --完全图解教程:ftp架设.端口映射.动态域名申请(一) 为了支持"共享小组事务"的胜利开设,我花了两天时间,参考网上众老鸟文章之长,由我这小 ...

  9. RHEL5中配置vsftpd搭建FTP服务器

    RPM安装包名:vsftpd-2.0.5-10.el5.i386.rpm (第二张光盘) 下载地址:http://vsftp.beasts.org  源代码最新版本:vsftpd-2.0.5.tar. ...

最新文章

  1. TCP/IP详解--学习笔记(3)-IP协议,ARP协议,RARP协议
  2. 完全卸载Oracle方法(亲测有效)
  3. windows nginx站点分割日志_Nginx 基础用途拾遗
  4. 交换机发生网络通信故障问题时该怎么办?
  5. Eclipse 创建第一个 springboot 应用
  6. 通过 User-Agent 请求头判断设备类型
  7. 两万字深度介绍分布式系统原理!【收藏版】
  8. 用mac的chrome浏览器调试Android手机的网页
  9. 时间旅行java_[ 一起学React系列 -- 7 ] 秘术之时间旅行-2
  10. 如何复制百度文库里面的文章
  11. linux+shell+解压命令,linux shell解压命令
  12. 木马分析(控制分析)实验
  13. 《指弹:Like a star》
  14. Mac/Linux/Ubuntu下 视频 显示双语/中英字幕 的方法
  15. `Caché/IRIS` 代码优化效率提升十一条 - 持续更新
  16. 不用工具,如何快速计算文件的MD5?
  17. 2014年7月份第3周51Aspx源码发布详情
  18. 00 Mybatis之简介与入门
  19. kotlin自定义view
  20. 开放原子开源基金会OpenHarmony开发者大会2023圆满举办

热门文章

  1. NAT技术代理服务器
  2. selenium 定位方式1
  3. 软件测试工作都干些什么?
  4. html语言中的链接方式,什么是超链接_在html中设置超链接的方法 - 驱动管家
  5. shell条件判断 if else
  6. mysql 安装、建库、导入导出数据
  7. Fatal Python error: pycurl: libcurl link-time version is older than compile-time version
  8. NTV Media Server G3流媒体服务器搭建经验
  9. java future 不足_java Future用法和意义一句话击破
  10. PetShop之业务逻辑层设计