计算机和因特网的应用和普及,其强大的功能已为人们深刻认识,校园网络的建成,使学校实现了管理网络化和教学手段现代化,这对于提高学校的管理水平和教学质量具有十分重要的意义。在我校研发的信息技术教学系统中,需要有一项功能可以使学生利用网页提交作业,实现作业从本地计算机端传到服务器端。本文重点分析如何利用asp实现文件上传功能。
随着网络技术的不断发展和Internet的日益普及,许多学校都建立了校园网络并投入使用,这无疑对加快信息处理,提高工作效率,减轻劳动强度,实现资源共享都起到了无法估量的作用。在我校的信息技术教学过程中,为了方便教学,我校老师研发了信息技术课程教学系统,通过该系统学生可以很方便的自主学习、自主评测,同时也减轻了教师的教学负担。
该系统是基于asp开发的。Asp是Active Server Page的缩写,意为“动态服务器页面”,是微软公司开发的代替CGI脚本程序的一种应用,是一种服务器端脚本编写环境,可以用来创建和运行动态网页或Web应用程序。
在本系统中有一项功能可以使学生利用网页提交作业,实现作业从本地计算机端传到服务器端。现在通用的asp实现文件上传方法主要有两种:组件上传法和无组件上传法。
所谓组件上传法是利用编译好的active server组件完成,比如Persits软件公司的AspUpload ,将AspUpload.dll放在任意目录中(例如c:),然后在windows的“开始──运行”窗口中执行命令 “regsvr32 c: AspUpload.dll”。相应的上传脚本 Upload.asp主要代码如下:
Set Upload = Server.CreateObject("Persits.Upload.1")
Count = Upload.Save("c:upload")
这段ASP脚本的 论文检测天使-免费论文检测软件http://www.jiancetianshi.com
第一行创建一个AspUpload对象的实例,第二行调用组件的Save方法,它实际上的作用是:解析从浏览器发送的东西,计算出有多少个文件正在上传,并且把他们存在服务器上指定的目录。这种方法优点是代码少,使用方便。不过有一个很大的弊端:如果使用别人的服务器,而对方不允许你安装第三方组件,这个时候就必须使用无组件上传法。
无组件上传原理也比较简单,核心就是分析字符串。不过在实际操作时却很难。其中的关键问题还是对原理的剖析不够深入,或是因为过程太繁琐。下面我们来分布说明:
一、添加浏览文件的按钮
通常情况下,使用HTML表单form从浏览器向服务器传递数据。这个表单中可能包含文本域、检验框、按钮以及上载文件的文件类型控制。表单元素中的 enctype 属性规定了传递给服务器的表数据集编码的内容类型,当向服务器传送大量文本、包含非ASCII字符或二进制数的数据时,应使用“multipart/form-data”内容类型。而要浏览上传附件,我们一般使用这个元素。
对于我们这个学习系统来讲,可以在g1index.htm页面中添加代码如下:
论文检测天使-免费论文相似性查重http://www.jiancetianshi.com
[1]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0426/fontbr二、获取上传的文件
后台asp程序中,需要获取上传的文件,可以使用采用ADO Stream对象的BinaryRead方法来读取。BinaryRead方法是对当前输入流进行指定字节数的二进制读取,结合ADO Stream对象的TotalBytes属性,可以将所有表单提交的数据全部变成二进制,不过这些数据都是经过编码的。部分代码如下:
Set m_binForm = Server.CreateObject("ADODB.Stream")
m_binForm.Open()
do
m_binForm.Write Request.BinaryRead(lngChunkByte)
lngReadSize=lngReadSize+lngChunkByte
iflngReadSize >= lngRequestSize then exit do
loop
三、保存文件
保存文件可以利用 ADO STREAM 中提供的二进制文件操作方法来完成,保存文件的语句是: StreamOBJ.SaveToFile (fileName,2)。
在具体实现过程中,可以将有关的操作存放在一个类文件UpLoadClass.asp中,在应用时直接将该类文件包含在 ASP 程序中就可以了。
Upload.asp页面部分代码如下:
dim save
set save=new UpLoadClass
save.SavePath="/学生作业/"&left(userid,2)&"/"
save.Open()
set request2=nothing
在asp.net中实现文件上传功能比较简单,我们可以在页面上使用 控件。主要代码如下:
FileUpLoad1.PostedFile.SaveAs(Server.MapPath("/Files/")+ FileUpLoad1.FileName);
而在asp中并没有封装好的PostedFile方法,所以要自己解决。
相关文章:
文化导入与高校英语教学04-26
南京市大学生旅游行为特征分析及开发策略04-26
新形势下高校财务管理创新初探04-26
大学生幸福指数量表的编制及其初步应用04-26
人本主义视角下大学生英语课程内容重组实际教学示范式04-26
浅析中国大学生的创业战略管理04-26
以技能竞赛为导向的中职技能教学改革04-26
也谈高职院校物流管理专业的课程建设04-26