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

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

上传文件管理器的下载地址:http://www.blue999.com/webfiles/uploadfiles_setup.exe

时间: 2024-11-17 05:02:01

如何使用ASP建立虚拟的FTP服务器(上)的相关文章

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

在ASP中采用组件或无组件上传技术,均可以实现文件的上传功能.由此我们可以采用ASP的无组件上传技术,在我们自己的网站上建立一个虚拟的FTP服务器,象真正的FTP服务器一样,为多个用户提供远程文件的管理,同时各个用户只能操作自己的文件. 当文件上传的时候,ASP可以采用FSO或数据库方式来保存文件数据(有些服务器并没有提供FSO功能).这里我采用数据库来保存用户所上传的文件,采用数据库的优点我就不说了,总之很多.还有一个原因就是IIS限制了文件上传的大小(大概最大200KB吧),使用数据库方式可

ftp服务器上的文件怎么加密

问题描述 ftp服务器上的文件怎么加密 我在电脑上搭建了ftp服务器 怎么给ftp上的文件进行加密 有什么软件可以解决吗 有没有其他软件可以建立ftp服务器更方便? 有工具的请发的970062896@qq.com 谢谢! 解决方案 Ubuntu下从ftp服务器获取文件的方法将文件备份到FTP服务器上 解决方案二: 简单的话只能建议你把压缩加密一下,ftp的话本身保密性不强,主要还是靠登录验证 解决方案三: FTP主要功能负责传输文件,你可以增加保密功能,但使用起来不方便了.通常情况下,FTP只传

怎么用java显示ftp服务器上文件夹中的图片在jsp页面上?

问题描述 怎么用java显示ftp服务器上文件夹中的图片在jsp页面上? ftp在另一台windows上,访问jsp页面要读取并显示出ftp上的图片. ftp上的图片路径保存在数据库中,操作ftp的jar我选了apache的FtpClient. 现在的问题是,action获取到ftp上的文件后,是下载下来再读取成流输出到页面呢?还是直接从FTP获取成流输出到页面?如果有,求思路,最好有代码举例我不想ftp上的文件下载到部署环境上然后再输出到页面,想通过读取ftp的流直接显示到页面,页面关闭后流就

linux下lftp连接ftp服务器上传下载命令

  linux下lftp连接ftp服务器上传&下载 Java代码 用法: lftp ftp://用户名:密码@IP > 下载目录 mirror DIRNAME [下载整个目录里包含子目录,推荐此命令] 上传目录 mirror -R DIRNAM 下载目录 ... 用法: lftp ftp://用户名:密码@IP > 下载目录 mirror DIRNAME [下载整个目录里包含子目录,推荐此命令] 上传目录 mirror -R DIRNAM 下载目录 方法一 > mget -d D

从ftp服务器上下载文件

ftp服务器|下载 <?php/** * 函数名 php_ftp_download * 功能   从ftp服务器上下载文件 * 入口参数 * filename 欲下载的文件名,含路径 */function php_ftp_download($filename) {  $phpftp_host = "ftplocalhost";    // 服务器地址  $phpftp_port = 21;            // 服务器端口  $phpftp_user = "nam

Word入门动画教程7:打开FTP服务器上的文档

在连入Internet(或局域网)的情况下,使用Word可以直接打开FTP服务器上的某个文档,用户不必将文档下载到本地磁盘,只需要登录到这台服务器就可以打开相应的文档.在打开FTP服务器文档之前,用户可以按以下步骤将FTP服务器的地址添加到FTP站点列表中. 1.选择"文件"菜单中的"打开..."命令,将弹出"打开"对话框,在"查找范围"中选择"添加/更改FTP位置",打开"添加/更改FTP位置&

window系统cmd环境下从远程FTP服务器上下载文件

  我们总会遇到这样或那样的问题,window系统cmd环境下从远程FTP服务器上下载文件是怎么实现的呢? 看看下面的方法,也许对你有帮助: @echo off rem 指定FTP用户名 set ftpUser=FTPUSERYGL rem 指定FTP密码 set ftpPass=FTPUSER rem 指定FTP服务器地址 set ftpIP=10.16.12.101 rem 指定待下载的文件位于FTP服务器的哪个目录 set ftpFolder=/MBX-YGL-IN/UE0620/MBX-

如何通过IE从FTP服务器上下载文件

  在windows xp系统自带的IE浏览器中内置/FTP功能,通过它,即便在没有FTP工具的情况下,也可以轻松地从FTP服务器上下载资料.不过在使用1E浏览器从FTP服务器上下载资料前,还需要作以下设咒. 第1步:启动InternetExplorer浏览器,在菜单栏单击"工具"-"Internet选项"命令,打开"Internet选项"对话框. 第2步:切换到"高级"选项卡,拖动右边的滾动条,在窗口中找到"浏览&

vsftpd 移植的问题 &amp;amp;quot;打开FTP服务器上的文件夹时发生错误&amp;amp;quot;

问题描述 vsftpd 移植的问题 "打开FTP服务器上的文件夹时发生错误" vsftpd移植到板子上,在window下登录提示如下: 打开FTP服务器上的文件夹时发生错误.请检查是否有权限访问该文件夹.详细信息:200 Switching to ASCII mode.500 OOPS: socket500 OOPS: priv_sock_get_int 请大侠们指点指点!!!!