交互式XML课程建设网站的开发(11)
时间:2017-01-10 13:07 来源:毕业论文 作者:毕业论文 点击:次
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 在此,我们可以获得上传文件的文件名称及绝对路径,也可以获得文件类型。这些信息是正确保存文件所不可缺少的。 (责任编辑:qin) |