李太鳳
(宜賓學(xué)院網(wǎng)管中心,四川宜賓644007)
考試文件上傳系統(tǒng)的設(shè)計與實現(xiàn)
李太鳳
(宜賓學(xué)院網(wǎng)管中心,四川宜賓644007)
計算機的考試會有大量的考試文件需要提交.考試文件上傳系統(tǒng)通過HTML表單獲取學(xué)生提交文件的信息,使用ASP無組件上傳類將文件上傳到服務(wù)器上,并進行文件重命名等操作,實現(xiàn)對考試文件的統(tǒng)一管理.利用相應(yīng)的編程方法和技巧,設(shè)計出符合實際需求的各種考試文件上傳系統(tǒng),可改變傳統(tǒng)提交考試文件的方式,減輕教師負(fù)擔(dān),提高工作效率.
考試文件上傳系統(tǒng);無組件上傳;ASP
在現(xiàn)代教育技術(shù)的支持下,考試使用計算機提交文件已經(jīng)非常普遍.如程序設(shè)計、多媒體課件制作時,需要考生單獨在計算機上完成,然后提交文件.傳統(tǒng)的方式是將文件復(fù)制到軟盤或U盤再提交,老師通過讀取里面的文件獲取考生的試卷,這種方式效率低、文件讀取還依托軟盤或U盤的質(zhì)量,也不能實時地查看考生交卷的情況.很多高校已經(jīng)認(rèn)識到了傳統(tǒng)提交上機考試文件帶來的不便,提出了一套上機考試文件上傳系統(tǒng),以提供方便快捷、統(tǒng)一管理的上機考試文件管理模式[1].本文搭建的B/S模式(Brower/Server,瀏覽器/服務(wù)器模式)的考試文件上傳系統(tǒng),小型、簡便,適合一般高校校內(nèi)需要當(dāng)場上傳文件的計算機上機考試,可以提高計算機上機考試效率,及時發(fā)現(xiàn)學(xué)生在上傳考試文件中的錯誤.
要想改變傳統(tǒng)的上機考試文件提交方式,就必須開發(fā)一個能適應(yīng)多種類型文檔的文件上傳系統(tǒng),這種上傳操作可以在任何一臺連網(wǎng)的計算機上進行,而不必在服務(wù)器端進行操作.上傳考試文件與上傳普通文件略有不同,如有時需要根據(jù)學(xué)生的考號、姓名等信息對考試文件進行重命名等操作.考試文件上傳系統(tǒng)設(shè)計思路如下:
(1)學(xué)生在上傳考試文件時,輸入姓名和考號,選擇自己的考試文件,再上傳到服務(wù)器.
(2)文件上傳成功后,由于學(xué)生自己對考試文件的命名千奇百怪,為方便統(tǒng)一管理與查看,需對上傳后的文件進行重命名,如重命名為:考號+姓名+文件擴展名.
(3)文件經(jīng)過重命名后,在服務(wù)器端,老師可以及時查看學(xué)生提交考試文件的情況.如大部分學(xué)生的考試文件都在200 KB左右,突然一個學(xué)生上傳上來的文件只有20 KB,這時老師可在服務(wù)器端及時打開文件,以核對該學(xué)生文件是否上傳正確.另外,老師還可根據(jù)考試內(nèi)容,查看其文件類型,以及時發(fā)現(xiàn)學(xué)生上傳文件的錯誤.
(4)學(xué)生只有一次上傳考試文件的機會,以防止學(xué)生作弊.如果有的學(xué)生上傳的考試文件有錯,需要重新上傳的,作單獨處理.這時,在考試文件上傳成功后,需要記錄學(xué)生的考號、姓名、IP地址等信息,控制每臺計算機只能上傳一次,或者根據(jù)學(xué)生的姓名和IP地址,定位學(xué)生考試機.
無組件上傳方式是網(wǎng)絡(luò)上應(yīng)用最多最廣的文件上傳方法,其優(yōu)點是對服務(wù)器和瀏覽器均沒有任何要求,適應(yīng)性強,應(yīng)用范圍廣.如果只需要上傳小文件,則應(yīng)該是首選方案.由于考試文件大多數(shù)都是小文件,故采用無組件上傳方式實現(xiàn)文件上傳.在ASP中,可使用無組件上傳文件技術(shù)實現(xiàn)文件上傳的方法,來構(gòu)建考試文件上傳系統(tǒng).
2.1 應(yīng)用環(huán)境配置
為了使考試文件上傳系統(tǒng)更加簡單、通用,采用B/S模式,其特點在于結(jié)合通用瀏覽器來實現(xiàn)強大的功能,而不需要使用復(fù)雜專用軟件,這樣降低了學(xué)生的考試文件上傳環(huán)境要求,使得客戶端更加簡化,并且可以減少系統(tǒng)維護和升級帶來的成本.所使用語言也為了在各種教師機上都能支持,采用ASP語言[2].在教師機上安裝和配置IIS并運行,即可將電腦搭建成一個WEB服務(wù)器.將教師機作為服務(wù)器,學(xué)生通過在IE等網(wǎng)頁瀏覽器中輸入教師機IP地址或桌面上的快捷方式上傳考試文件到教師機.
2.2 數(shù)據(jù)庫設(shè)計
Access具有界面友好、易學(xué)易用、開發(fā)簡單、接口靈活等特點,非常適合開發(fā)小型網(wǎng)站,因此本系統(tǒng)中采用Access作為后臺數(shù)據(jù)庫[3].在Access2003中新建一個數(shù)據(jù)庫ip.mdb,它包含兩張表:admin表存放教師的賬號和密碼,用于管理學(xué)生上傳的IP地址等;ip表用于存放學(xué)生IP地址等信息.各數(shù)據(jù)表的結(jié)構(gòu)如表1所示.
表1 ip.mdb數(shù)據(jù)庫各數(shù)據(jù)表結(jié)構(gòu)
2.3 連接數(shù)據(jù)庫的實現(xiàn)
數(shù)據(jù)庫連接代碼單獨編制成一個文件,放在conn.asp中,在其他文件中可用<!--#include file= "conn.asp"-->命令,將其包含進來.
首先定義數(shù)據(jù)庫的連接字符串.數(shù)據(jù)庫連接使用OLEDB技術(shù),其中Provider表示數(shù)據(jù)庫使用OLE DB驅(qū)動程序;Data Source表示數(shù)據(jù)庫的物理路徑,利用Server對象的MapPath方法可以將相對路徑轉(zhuǎn)換為物理路徑.conn.asp文件代碼如下:
2.4 考試文件上傳頁面的實現(xiàn)
在網(wǎng)頁中,插入表單和表單元素,設(shè)計考試文件上傳頁面,獲取學(xué)生上傳文件信息.考試文件上傳頁面如圖1所示.
圖1 考試文件上傳頁面
設(shè)置表單的各屬性值,其格式為<form action= "Upload.asp"method="post"enctype="multipart/formdata"name="form1"onSubmit="checkFileUpload(this) ">.其中,action屬性表示單擊“提交”按鈕后,將表單信息傳遞給Upload.asp文件處理.method屬性為post,表示將所有信息當(dāng)作一個表單傳遞給服務(wù)器.在表單中使用文件域?qū)崿F(xiàn)文件上傳,因此enctype屬性一定要設(shè)為multipart/form-data[4].在上傳時,需要對表單的各項元素進行檢查,如必須輸入姓名、考號,可調(diào)用函數(shù)checkFileUpload(this)檢查表單元素是否輸入正確.checkFileUpload(this)為自定義的JS函數(shù).
2.5 文件上傳的實現(xiàn)
目前,在瀏覽器中上傳文件主要有兩種方法:一是在服務(wù)器端安裝文件上傳組件;二是使用ASP內(nèi)建的對象實現(xiàn)無組件文件上傳,無需對服務(wù)器進行配置[5].考試文件上傳系統(tǒng)采用ASP無組件文件上傳技術(shù)來實現(xiàn),可從網(wǎng)上下載比較流行的“化鏡”“艾恩”等無組件上傳類,即可實現(xiàn)文件上傳功能.
下載的無組件上傳類代碼一般包含兩個文件:Upload.inc(存放上傳文件的類)和Upload.asp(調(diào)用上傳文件的類).在需要上傳文件的頁面中,使用下列命令將其導(dǎo)入:
<!--#include file="Upload.inc"-->
Upload.asp一般放在表單的action屬性中,用戶提交表單后,交給Upload.asp進行文件上傳處理.
實現(xiàn)文件上傳,主要調(diào)用BuildUploadRequest函數(shù),將上傳文件保存到服務(wù)器指定文件夾中;調(diào)用UploadFormRequest函數(shù),獲取上傳文件的名稱.文件上傳后,需要對文件進行重命名,以方便對考試文件的管理.
考試時,要求考生只能上傳一次考試文件,這可在網(wǎng)頁中使用ASP代碼實現(xiàn).考試文件上傳信息都保存在后臺數(shù)據(jù)庫ip.mdb的ip數(shù)據(jù)表中,包括學(xué)生考試機的IP地址,可根據(jù)數(shù)據(jù)庫中是否存在IP地址,判斷學(xué)生是否是第二次上傳.每一場考試結(jié)束后,可將ip數(shù)據(jù)表里的IP地址等信息進行備份,然后清除ip表里的所有IP地址,以便下一場學(xué)生考試上傳文件.
提示:不同的無組件文件上傳類,實現(xiàn)文件上傳或獲取文件上傳名稱等函數(shù)的名稱可能不一樣.
關(guān)鍵代碼如下:
2.6 第二次上傳文件的實現(xiàn)
如考生傳錯文件,確實需要第二次上傳,可在網(wǎng)頁上顯示考生上傳文件的相關(guān)信息,單擊相應(yīng)的“刪除”按鈕,即可刪除考生第一次上傳文件時的IP地址,實現(xiàn)再次上傳,當(dāng)然,這個操作必須由監(jiān)考教師完成.監(jiān)考老師在檢查學(xué)生上傳的文件時,如果發(fā)現(xiàn)錯誤,直接備份源文件并刪除,可不必在網(wǎng)頁上刪除.如果這種情況比較少,也可以直接刪除上傳的文件和IP數(shù)據(jù)表里的數(shù)據(jù),不需要設(shè)計ASP頁面.
教師登錄成功后,將進入顯示本場考試所有學(xué)生上傳文件信息的頁面,可進行兩項操作:
(1)刪除單個IP地址.如果學(xué)生上傳錯誤,可刪除學(xué)生機IP地址項.單擊對應(yīng)IP地址“刪除”的超鏈接時,將要刪除記錄的編號(id)傳遞到刪除頁面中,并彈出刪除確認(rèn)對話框.刪除記錄的超鏈接為:
考試文件上傳系統(tǒng)已在本校運行多年,在學(xué)生上機考試且需要上傳考試文件的情況中,使用穩(wěn)定.從這么多年運行的情況看,遇到的主要問題及解決辦法如下.
(1)考試文件上傳系統(tǒng)最初運行在IE6下,隨著IE的升級,學(xué)生在上傳文件時出現(xiàn)如圖2所示的錯誤:
圖2 出現(xiàn)的錯誤提示
最開始出現(xiàn)這個問題時,在瀏覽器Internet選項的安全選項卡,修改Internet區(qū)域的安全設(shè)置,將其中的“將文件上載到服務(wù)器時包含本地目錄路徑”啟用,即可解決問題,但這需要在每臺考試機上作修改,很費時.
后經(jīng)網(wǎng)上搜索,在Upload.inc的GetFileName函數(shù)里,作以下修改就正常了,其中加下劃線的內(nèi)容是新增的代碼.
(2)學(xué)生的考試文件上傳到服務(wù)器后,服務(wù)器會根據(jù)學(xué)生的考號和姓名自動重命名.如果學(xué)生將需要上傳的考試文件命名為“考號+姓名+擴展名”,上傳到服務(wù)器時,提示重命名錯誤,因為服務(wù)器上已經(jīng)存在相同文件名.這時需在重命名代碼中,完善重命名條件.
(3)有的學(xué)生第一次提交的考試文件錯誤,如在PPT課件制作考試中,將PowerPoint快捷方式當(dāng)成自己做的課件,這時,需要第二次上傳,上傳時提示文件已經(jīng)存在.出現(xiàn)這種錯誤,主要是老師在服務(wù)器上沒能及時刪除第一次上傳的文件.
考試文件上傳系統(tǒng),已在學(xué)院運行多年,在校內(nèi)的學(xué)生上機考試文件提交中,發(fā)揮了重要作用.系統(tǒng)通過HTML的表單獲取用戶上傳文件信息,使用ASP無組件上傳類將文件上傳到服務(wù)器上,并進行文件重命名等操作,實現(xiàn)對考試文件的統(tǒng)一管理.綜合利用各種編程方法和技巧,可以設(shè)計出符合自己需求的各種考試文件上傳系統(tǒng).在上機考試中可能出現(xiàn)千頭萬緒的問題,考試文件上傳系統(tǒng)可減輕老師的負(fù)擔(dān),提高工作效率,又能對學(xué)生負(fù)責(zé),體現(xiàn)人性化的服務(wù).
[1]吳海麗.計算機實訓(xùn)課程作業(yè)上傳系統(tǒng)的研究[J].吉林廣播電視大學(xué)學(xué)報,2012(4):80.
[2]劉瑞冰.基于ASP的計算機上機作業(yè)上傳系統(tǒng)研究[J].軟件導(dǎo)刊,2012(12):121-123.
[3]鄒于豐,梁霄波,以繪,等.基于ASP的文件上傳系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機時代,2009(12):33-35.
[4]張文梅.基于ASP的無組件多文件上傳的研究與實現(xiàn)[J].廣東農(nóng)工商職業(yè)技術(shù)學(xué)院學(xué)報,2009(8):84-86.
[5]於肇鵬.ASP無組件上傳技術(shù)分析[J].遼寧師專學(xué)報,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-),女,實驗師,碩士,研究方向為計算機軟件及計算機應(yīng)用
時間:2014-06-27 15:55
http://www.cnki.net/kcms/detail/51.1630.Z.20140627.1555.003.htm l