交互式XML课程建设网站的开发(13)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

交互式XML课程建设网站的开发(13)


getdata=BtoS(stemp)
Else '若为文件,获得文件二进制内容

Getdata=midb (part1, instrb (part1, bncrlf&bncrlf)+lenb (bncrlf&bncrlf), lenb (part1)
-instrb(part1,bncrlf&bncrlf)+lenb(bncrlf&bncrlf))
End If
Final=endpos
End function
在程序中直接调用该函数就可获得所需文件(或文本框)内容,如下所示:
<%
Content=getdata (data, pider, position)  
%>
3) 获得文件名称
前面已经分析过了,上传文件数据流的"filename="字段里包含了文件的名称和绝对路 径。一般来说,我们只需提取出路径中的文件名即可,以下是程序代码:
<%
namepos=instrrev(B2S(firstline),chr(92)) 'firstline即上面获得的说明部分数据,chr(92)
表示"/"
filename=midb(firstline,namepos+1,lenb(firstline)-namepos-1) '获得文件名称
%>
利用ASP直接实现文件上传功能
传统的ASP程序员只能利用FILESYSTEMOBJECT对象对文本文件(.txt)进行移动、复制、删除等操作,若需处理二进制对象,则不得不采用本文前面介绍的那些方法来实现。但是,现在ASP中的ADO.STREAM对象可以同时操作文本对象和二进制对象(可以在http://www.microsoft.com/data下载),利用它就可以在ASP中直接实现文件上传功能。下面,我们就介绍其实现过程。
1)打开STREAM对象
对于SREAM对象而言,若要进行文件的保存,则必须是将该对象的全部内容进行保存。因此,我们必须要创建两个(或多个)STREAM对象,其中一个为源数据流,即接收初始的二进制数据;另一个为目的数据流,即接收来自经源数据流处理后的数据,并最终保存为所需的文件。
<%  
set str=server.CreateObject("ADODB.Stream") 'str为源数据流
str.Mode=3 '设置打开模式,3为可读可写
str.Type=1 '设置数据类型,1为二进制数据
str.Open  
set desc=server.CreateObject("ADODB.Stream") 'desc为目标数据流
desc.Mode=3  
Desc.Type=1  
desc.Open  
%>
2)STEAM对象间内容的复制
在该部分,必须在源数据流中定位文件开始的位置,并且求出文件内容的长度,才能将文件正确的复制到目的数据流中,并且保存文件,程序代码如下:
<%  
formdata=Request.BinaryRead(Request.TotalBytes) 'formdata为上传的所有内容
str.Write formdata ' 赋值源数据流
str.position=count-lenb(result)-2 'position指出文件的开始位置
str.copyto desc, lenb(filecotent) 'lenb(filecontent)表示文件的长度
desc.SaveToFile fullpath,2 '以fullpath指定的路径及名称保存文件
%>
3)关闭STEAM对象
编程完成后,应关闭并释放STEAM对象,如下所示:
<%  
Desc. Close  
Set desc=nothing  
Str. Close  
Set STR=nothing  
%>
    在线留言设计,只需要将数据库里的messages表中的交流记录读取出来即可显示在界面上,按照时间顺序读取,发送与接收都靠数据存储实现;留言信箱分为收件箱和发件箱,还有标识留言是否已读的状态,字段status标识其已读或未读状态。
5.6    快速导航模块设计
    快速导航是对主页的基本导航信息进行一个汇总,实现主要是依靠链接,html标签<a>的使用,如下图5-1所示。
 
图 5 - 1 快速导航
5.7    后台管理模块设计
后台是管理员进行相关数据操作,后台包括用户管理、新闻管理、电子公告管理、留言管理、资料管理,后台的数据操作主要是进行数据的增加、修改、删除等操作。 (责任编辑:qin)