上传用户管理用: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", "inlinefilename=" &list("FileName")
Response.ContentType = list("FileType")
Response.Binarywrite(list("FileData").GetChunk(list("FileLength")))
End If
End If
● 再完成一些其他的辅助操作页面即可。当然由于浏览器的限制,文件上传的续传技术不能直接使用,只能通过客户端软件来实现。网络上有个软件叫“上传文件管理器”(包含ASP源代码),实现了上面的功能。
如何用SA-FileUp上传多个文件?表单处理:
<%@ LANGUAGE="VBSCRIPT" %>
<HTML><HEAD>
<TITLE>多个文件上传</TITLE>
</HEAD>
<BODY>
<% Set upl = Server.CreateObject("SoftArtisans.FileUp") %>
<% upl.Form("f1").SaveAs "C:\intels\upload1.out" %><BR>
文件1共写入字节数: <%=upl.Form("f1").TotalBytes%>
<% upl.Form("f2").SaveAs "C:\intels\upload2.out" %><BR>
文件2共写入字节数: <%=upl.Form("f2").TotalBytes%>
</BODY>
</HTML>
首先,你要明确,你是要在单击上架设FTP服务器还是怎么样?如果是,那么,你需要一个软件Serv-U
,至于教程嘛。百度或GOOGLE一下。
至于ASP,那么,单机架设只需要安装个IIS即可。
如有不明白可以Q我
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)