考试文件上传系统的设计与实现
2014-07-20李太凤
李太凤
(宜宾学院网管中心,四川宜宾644007)
考试文件上传系统的设计与实现
李太凤
(宜宾学院网管中心,四川宜宾644007)
计算机的考试会有大量的考试文件需要提交.考试文件上传系统通过HTML表单获取学生提交文件的信息,使用ASP无组件上传类将文件上传到服务器上,并进行文件重命名等操作,实现对考试文件的统一管理.利用相应的编程方法和技巧,设计出符合实际需求的各种考试文件上传系统,可改变传统提交考试文件的方式,减轻教师负担,提高工作效率.
考试文件上传系统;无组件上传;ASP
在现代教育技术的支持下,考试使用计算机提交文件已经非常普遍.如程序设计、多媒体课件制作时,需要考生单独在计算机上完成,然后提交文件.传统的方式是将文件复制到软盘或U盘再提交,老师通过读取里面的文件获取考生的试卷,这种方式效率低、文件读取还依托软盘或U盘的质量,也不能实时地查看考生交卷的情况.很多高校已经认识到了传统提交上机考试文件带来的不便,提出了一套上机考试文件上传系统,以提供方便快捷、统一管理的上机考试文件管理模式[1].本文搭建的B/S模式(Brower/Server,浏览器/服务器模式)的考试文件上传系统,小型、简便,适合一般高校校内需要当场上传文件的计算机上机考试,可以提高计算机上机考试效率,及时发现学生在上传考试文件中的错误.
1 考试文件上传系统设计思路
要想改变传统的上机考试文件提交方式,就必须开发一个能适应多种类型文档的文件上传系统,这种上传操作可以在任何一台连网的计算机上进行,而不必在服务器端进行操作.上传考试文件与上传普通文件略有不同,如有时需要根据学生的考号、姓名等信息对考试文件进行重命名等操作.考试文件上传系统设计思路如下:
(1)学生在上传考试文件时,输入姓名和考号,选择自己的考试文件,再上传到服务器.
(2)文件上传成功后,由于学生自己对考试文件的命名千奇百怪,为方便统一管理与查看,需对上传后的文件进行重命名,如重命名为:考号+姓名+文件扩展名.
(3)文件经过重命名后,在服务器端,老师可以及时查看学生提交考试文件的情况.如大部分学生的考试文件都在200 KB左右,突然一个学生上传上来的文件只有20 KB,这时老师可在服务器端及时打开文件,以核对该学生文件是否上传正确.另外,老师还可根据考试内容,查看其文件类型,以及时发现学生上传文件的错误.
(4)学生只有一次上传考试文件的机会,以防止学生作弊.如果有的学生上传的考试文件有错,需要重新上传的,作单独处理.这时,在考试文件上传成功后,需要记录学生的考号、姓名、IP地址等信息,控制每台计算机只能上传一次,或者根据学生的姓名和IP地址,定位学生考试机.
2 考试文件上传系统的实现
无组件上传方式是网络上应用最多最广的文件上传方法,其优点是对服务器和浏览器均没有任何要求,适应性强,应用范围广.如果只需要上传小文件,则应该是首选方案.由于考试文件大多数都是小文件,故采用无组件上传方式实现文件上传.在ASP中,可使用无组件上传文件技术实现文件上传的方法,来构建考试文件上传系统.
2.1 应用环境配置
为了使考试文件上传系统更加简单、通用,采用B/S模式,其特点在于结合通用浏览器来实现强大的功能,而不需要使用复杂专用软件,这样降低了学生的考试文件上传环境要求,使得客户端更加简化,并且可以减少系统维护和升级带来的成本.所使用语言也为了在各种教师机上都能支持,采用ASP语言[2].在教师机上安装和配置IIS并运行,即可将电脑搭建成一个WEB服务器.将教师机作为服务器,学生通过在IE等网页浏览器中输入教师机IP地址或桌面上的快捷方式上传考试文件到教师机.
2.2 数据库设计
Access具有界面友好、易学易用、开发简单、接口灵活等特点,非常适合开发小型网站,因此本系统中采用Access作为后台数据库[3].在Access2003中新建一个数据库ip.mdb,它包含两张表:admin表存放教师的账号和密码,用于管理学生上传的IP地址等;ip表用于存放学生IP地址等信息.各数据表的结构如表1所示.
表1 ip.mdb数据库各数据表结构
2.3 连接数据库的实现
数据库连接代码单独编制成一个文件,放在conn.asp中,在其他文件中可用<!--#include file= "conn.asp"-->命令,将其包含进来.
首先定义数据库的连接字符串.数据库连接使用OLEDB技术,其中Provider表示数据库使用OLE DB驱动程序;Data Source表示数据库的物理路径,利用Server对象的MapPath方法可以将相对路径转换为物理路径.conn.asp文件代码如下:
2.4 考试文件上传页面的实现
在网页中,插入表单和表单元素,设计考试文件上传页面,获取学生上传文件信息.考试文件上传页面如图1所示.
图1 考试文件上传页面
设置表单的各属性值,其格式为<form action= "Upload.asp"method="post"enctype="multipart/formdata"name="form1"onSubmit="checkFileUpload(this) ">.其中,action属性表示单击“提交”按钮后,将表单信息传递给Upload.asp文件处理.method属性为post,表示将所有信息当作一个表单传递给服务器.在表单中使用文件域实现文件上传,因此enctype属性一定要设为multipart/form-data[4].在上传时,需要对表单的各项元素进行检查,如必须输入姓名、考号,可调用函数checkFileUpload(this)检查表单元素是否输入正确.checkFileUpload(this)为自定义的JS函数.
2.5 文件上传的实现
目前,在浏览器中上传文件主要有两种方法:一是在服务器端安装文件上传组件;二是使用ASP内建的对象实现无组件文件上传,无需对服务器进行配置[5].考试文件上传系统采用ASP无组件文件上传技术来实现,可从网上下载比较流行的“化镜”“艾恩”等无组件上传类,即可实现文件上传功能.
下载的无组件上传类代码一般包含两个文件:Upload.inc(存放上传文件的类)和Upload.asp(调用上传文件的类).在需要上传文件的页面中,使用下列命令将其导入:
<!--#include file="Upload.inc"-->
Upload.asp一般放在表单的action属性中,用户提交表单后,交给Upload.asp进行文件上传处理.
实现文件上传,主要调用BuildUploadRequest函数,将上传文件保存到服务器指定文件夹中;调用UploadFormRequest函数,获取上传文件的名称.文件上传后,需要对文件进行重命名,以方便对考试文件的管理.
考试时,要求考生只能上传一次考试文件,这可在网页中使用ASP代码实现.考试文件上传信息都保存在后台数据库ip.mdb的ip数据表中,包括学生考试机的IP地址,可根据数据库中是否存在IP地址,判断学生是否是第二次上传.每一场考试结束后,可将ip数据表里的IP地址等信息进行备份,然后清除ip表里的所有IP地址,以便下一场学生考试上传文件.
提示:不同的无组件文件上传类,实现文件上传或获取文件上传名称等函数的名称可能不一样.
关键代码如下:
2.6 第二次上传文件的实现
如考生传错文件,确实需要第二次上传,可在网页上显示考生上传文件的相关信息,单击相应的“删除”按钮,即可删除考生第一次上传文件时的IP地址,实现再次上传,当然,这个操作必须由监考教师完成.监考老师在检查学生上传的文件时,如果发现错误,直接备份源文件并删除,可不必在网页上删除.如果这种情况比较少,也可以直接删除上传的文件和IP数据表里的数据,不需要设计ASP页面.
教师登录成功后,将进入显示本场考试所有学生上传文件信息的页面,可进行两项操作:
(1)删除单个IP地址.如果学生上传错误,可删除学生机IP地址项.单击对应IP地址“删除”的超链接时,将要删除记录的编号(id)传递到删除页面中,并弹出删除确认对话框.删除记录的超链接为:
3 在使用中遇到的常见问题
考试文件上传系统已在本校运行多年,在学生上机考试且需要上传考试文件的情况中,使用稳定.从这么多年运行的情况看,遇到的主要问题及解决办法如下.
(1)考试文件上传系统最初运行在IE6下,随着IE的升级,学生在上传文件时出现如图2所示的错误:
图2 出现的错误提示
最开始出现这个问题时,在浏览器Internet选项的安全选项卡,修改Internet区域的安全设置,将其中的“将文件上载到服务器时包含本地目录路径”启用,即可解决问题,但这需要在每台考试机上作修改,很费时.
后经网上搜索,在Upload.inc的GetFileName函数里,作以下修改就正常了,其中加下划线的内容是新增的代码.
(2)学生的考试文件上传到服务器后,服务器会根据学生的考号和姓名自动重命名.如果学生将需要上传的考试文件命名为“考号+姓名+扩展名”,上传到服务器时,提示重命名错误,因为服务器上已经存在相同文件名.这时需在重命名代码中,完善重命名条件.
(3)有的学生第一次提交的考试文件错误,如在PPT课件制作考试中,将PowerPoint快捷方式当成自己做的课件,这时,需要第二次上传,上传时提示文件已经存在.出现这种错误,主要是老师在服务器上没能及时删除第一次上传的文件.
4 结束语
考试文件上传系统,已在学院运行多年,在校内的学生上机考试文件提交中,发挥了重要作用.系统通过HTML的表单获取用户上传文件信息,使用ASP无组件上传类将文件上传到服务器上,并进行文件重命名等操作,实现对考试文件的统一管理.综合利用各种编程方法和技巧,可以设计出符合自己需求的各种考试文件上传系统.在上机考试中可能出现千头万绪的问题,考试文件上传系统可减轻老师的负担,提高工作效率,又能对学生负责,体现人性化的服务.
[1]吴海丽.计算机实训课程作业上传系统的研究[J].吉林广播电视大学学报,2012(4):80.
[2]刘瑞冰.基于ASP的计算机上机作业上传系统研究[J].软件导刊,2012(12):121-123.
[3]邹于丰,梁霄波,以绘,等.基于ASP的文件上传系统的设计与实现[J].计算机时代,2009(12):33-35.
[4]张文梅.基于ASP的无组件多文件上传的研究与实现[J].广东农工商职业技术学院学报,2009(8):84-86.
[5]於肇鹏.ASP无组件上传技术分析[J].辽宁师专学报,2011(6):42-44.
【编校:李青】
The Design and Realization of Test Files Up loading System
LITaifeng
(NetworkManagementCenter,Yibin University,Yibin,Sichuan 644007,China)
A large quantity of exam files need to be uploaded during computer-based testing.The exam files uploading system changes the traditionalway of submitting exam files,lightens teachers’work load,and increases efficiency.The system realizes the unifiedmanagementof the exam files by such procedures as acquiring the files submitted by students through HTML form,uploading the files to servers by ASP non-componentupload,renaming the files,etc.It is possible to design the system ofuploading exam filesby comprehensively using allkindsofprogrammingmethodsand skills.
exam filesuploading system;theupload ofnon-component files;ASP
TP393.093
A
1671-5365(2014)12-0102-04
2014-04-28修回:2014-05-23
李太凤(1980-),女,实验师,硕士,研究方向为计算机软件及计算机应用
时间:2014-06-27 15:55
http://www.cnki.net/kcms/detail/51.1630.Z.20140627.1555.003.htm l