5.4 在线教育模块设计
在线教育这里涉及到操作权限的问题,如果没有用户名的用户只能查看在线资源的基本信息,这里只允许学生和老师用户可以进行下载资源,如果没用登录到达在线教育页面,则只能查看资源的描述说明,并有登录后才能下载的提示。这里资源分为3类,课件、案例和在线习题,实现下载链接,主要是依靠IE浏览器自动打开链接,到服务器端下载文件而进行的下载操作,其实现方法是在数据库表info里设置一个字段infocomment,存放文件上传的文件名,提供给用户下载的一个链接。这个下载方法有一定的局限性,文件大小不宜太大。
5.5 个人天地模块设计
当用户以学生身份登录后,学生可以查看个人信息、修改信息、作业上传、在线留言和留言信箱管理。当用户以教师身份登录后,教师可以查看个人信息、修改信息、查看作业、资料上传、在线留言、留言信箱管理和电子公告管理。
个人信息显示连接数据库后,select语句取出数据集,进行相应的数据显示,核心代码如下:
set cn=Server.CreateObject("ADODB.Connection")
cn.open "driver={Microsoft Access Driver (*.mdb)};DBQ="+Server.MapPath("schoolmate.mdb")
set rs=server.createobject("adodb.recordset")
strsql= "select * from 表名where 条件"
set rs=cn.execute(strsql)
下面使用rs("realname")对信息进行显示
资料修改功能,则把上面sql语句换成”update 表名 set 字段值”,进行相应的获取表单值request.Form(“名字”),即可进行修改操作
作业上传功能的是本网站中的一个重点,也是难点之一。Asp文件上传分为无组件和有组件的上传。无组件上传有文件大小限制,有组件有内存占用较多,这里使用的是无组件限制大小上传,单个文件限制为100M,超过则不能上传,下面是对上传技术进行剖析。
(1).文件上传表单,首先需要编写一个能提供文件上传功能的表单,程序如下所示:
<Form action="upload.asp" method=post enctype="multipart/form-data">
上传文件:<Input type=file name=file1><br>
<input type=submit name=upload value="上传">
</form>
其中,enctype参数用来设置表单的MIME编码方式,在进行文件(或同时包含文本框)上传时,必须将其属性设置为"multipart/form-data";upload.asp是服务器端对接收到的二进制文件流进行处理的ASP程序,在本文的后面将陆续介绍其内容。
(2).上传文件格式分析,在处理文件之前,我们要先了解上传的文件的具体格式,通过编写下面一段简单的ASP程序就可以查看其二进制代码:
<%
filesize=Request.TotalBytes '获得上传文件的大小
filedata=Request.BinaryRead(filesize) '获得上传文件的二进制数据
Response.BinaryWrite filedata '在浏览器上显示二进制数据
%>
分析浏览器上显示的上传文件的二进制代码,发现代码包括四个部分(若同时上传多个文件或文本框,则代码按上传的先后次序排列,格式相同),每一部分的内容是用回车换行符号来进行分隔的:
1)第一部分(起始标志)
-----------------------------7d329631b04d4
2)第二部分(文件说明)
Content-Disposition: form-data; name="file1"; filename="C:\Documents and Settings\Administrator\My Documents\Invitation.doc" Content-Type: application/msword
在此,我们可以获得上传文件的文件名称及绝对路径,也可以获得文件类型。这些信息是正确保存文件所不可缺少的。 交互式XML课程建设网站的开发(11):http://www.751com.cn/jisuanji/lunwen_2111.html