上传信息技术教学系统中利用asp实现文件上传

asp 文件上传  时间:2021-02-09  阅读:()

信息技术教学系统中利用asp实现文件上传

摘要计算机和因特网的应用和普及其强大的功能已为人们深刻认识校园网络的建成使学校实现了管理网络化和教学手段现代化这对于提高学校的管理水平和教学质量具有十分重要的意义。在我校研发的信息技术教学系统中需要有一项功能可以使学生利用网页提交作业实现作业从本地计算机端传到服务器端。本文重点分析如何利用asp实现文件上传功能。

随着网络技术的不断发展和Internet的日益普及许多学校都建立了校园网络并投入使用这无疑对加快信息处理提高工作效率减轻劳动强度实现资源共享都起到了无法估量的作用。在我校的信息技术教学过程中为了方便教学我校老师研发了信息技术课程教学系统通过该系统学生可以很方便的自主学习、 自主评测同时也减轻了教师的教学负担。

该系统是基于asp开发的。Asp是Active Server Page的缩写意为“动态服务器页面”是微软公司开发的代替CGI脚本程序的一种应用是一种服务器端脚本编写环境可以用来创建和运行动态网页或Web应用程序。

在本系统中有一项功能可以使学生利用网页提交作业实现作业从本地计算机端传到服务器端。现在通用的asp实现文件上传方法主要有两种组件上传法和无组件上传法。

所谓组件上传法是利用编译好的active server组件完成 比如Persits软件公司的AspUpload 将AspUp load.dll放在任意目录中例如c:\然后在windows的“开始――运行”窗口中执行命令“regsvr32 c:\AspUpload.dll”。相应的上传脚本Upload.asp主要代码如下

Set Uplo ad=Server.CreateObject(“Pers its.Upload.1”)

Count=Upload.S ave(“c:\up load”)

这段ASP脚本的第一行创建一个AspUpload对象的实例第二行调用组件的Save方法它实际上的作用是解析从浏览器发送的东西计算出有多少个文件正在上传并且把他们存在服务器上指定的目录。这种方法优点是代码少使用方便。不过有一个很大的弊端如果使用别人的服务器而对方不允许你安装第三方组件这个时候就必须使用无组件上传法。

无组件上传原理也比较简单核心就是分析字符串。不过在实际操作时却很难。其中的关键问题还是对原理的剖析不够深入或是因为过程太繁琐。下面我们来分布说明

一、添加浏览文件的按钮

通常情况下使用HT ML表单form从浏览器向服务器传递数据。这个表单中可能包含文本域、检验框、按钮以及上载文件的文件类型控制。表单元素中的enc typ e属性规定了传递给服务器的表数据集编码的内容类型 当向服务器传送大量文本、包含非ASCII字符或二进制数的数据时应使用“mult ipart/form-data”内容类型。而要浏览上传附件我们一般使用这个元素。

对于我们这个学习系统来讲可以在g 1 index.htm页面中添加代码如下

二、获取上传的文件

后台asp程序中需要获取上传的文件可以使用采用ADO Stream对象的BinaryRead

方法来读取。 BinaryRe ad方法是对当前输入流进行指定字节数的二进制读取结合ADOS tr e am对象的TotalByte s属性可以将所有表单提交的数据全部变成二进制不过这些数据都是经过编码的。部分代码如下

Set m_binForm=Server.CreateObject(“ADODB.Stream”)m_binForm.Open()dom_binForm.Write Request.BinaryRead(lng ChunkByte)lngRe adS iz e=lng ReadS ize+lng Chunk ByteiflngReadS ize>=lngRequestSize then exit doloop

三、保存文件

保存文件可以利用ADO STREAM中提供的二进制文件操作方法来完成保存文件的语句是 StreamOBJ.SaveToFile(fileName,2)。

在具体实现过程中可以将有关的操作存放在一个类文件Up LoadClas s.asp中在应用时直接将该类文件包含在ASP程序中就可以了。

Up load.asp页面部分代码如下:dim saveset save=new UpLoadClasssave.SavePath=“/学生作业/”&left(userid,2)&”/”save.省略中实现文件上传功能比较简单我们可以在页面上使用控件。主要代码如下

FileUpLo ad 1.PostedFile.SaveAs(Server.MapPath(“/Files/”)+FileUp Load 1.FileName);

而在asp中并没有封装好的PostedFile方法所以要自己解决。

参考文献:

[1]ASP编程基础及应用教程2004年

[2]网络程序设计――ASP 第二版 2004年

百驰云(19/月),高性能服务器,香港三网CN2 2核2G 10M 国内、香港、美国、日本、VPS、物理机、站群全站7.5折,无理由退换,IP免费换!

百驰云成立于2017年,是一家新国人IDC商家,且正规持证IDC/ISP/CDN,商家主要提供数据中心基础服务、互联网业务解决方案,及专属服务器租用、云服务器、云虚拟主机、专属服务器托管、带宽租用等产品和服务。百驰云提供源自大陆、香港、韩国和美国等地骨干级机房优质资源,包括BGP国际多线网络,CN2点对点直连带宽以及国际顶尖品牌硬件。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端...

搬瓦工VPS:新增荷兰机房“联通”线路的VPS,10Gbps带宽,可在美国cn2gia、日本软银、荷兰“联通”之间随意切换

搬瓦工今天正式对外开卖荷兰阿姆斯特丹机房走联通AS9929高端线路的VPS,官方标注为“NL - China Unicom Amsterdam(ENUL_9)”,三网都走联通高端网络,即使是在欧洲,国内访问也就是飞快。搬瓦工的依旧是10Gbps带宽,可以在美国cn2 gia、日本软银与荷兰AS9929之间免费切换。官方网站:https://bwh81.net优惠码:BWH3HYATVBJW,节约6...

青云互联19元/月,美国洛杉矶CN2GIA/香港安畅CN2云服务器低至;日本云主机

青云互联怎么样?青云互联美国洛杉矶cn2GIA云服务器低至19元/月起;香港安畅cn2云服务器低至19元/月起;日本cn2云主机低至35元/月起!青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务。青云互联本站之前已经更新过很多相关文章介绍了,青云互联的机房有香港和洛杉矶,都有CN2 GIA线路、洛杉矶带高防,商家承诺试用7天,打死全额退款点击进入:青云互联...

asp 文件上传为你推荐
伪装微信地理位置怎么伪装微信地理位置?暴风影音怎么截图如何在暴风影音中截图?网店推广网站开网店如何做推广?ios7固件下载iphone自动下载IOS7固件版本怎么删除迅雷云点播账号求百度云或者迅雷云播账号密码iphone6上市时间苹果6什么时候出?多少钱网站排名靠前全国B2B网站排名靠前的有哪些购买流量买流量怎么买怎样申请支付宝如何申请支付宝?首页无法修改主页无法更改怎么办
免费美国主机 国际域名抢注 westhost lunarpages 韩国加速器 美国主机论坛 60g硬盘 英语简历模板word 12u机柜尺寸 国内加速器 云全民 e蜗 空间论坛 静态空间 广州服务器 流媒体加速 路由跟踪 vul 中国电信测速网站 免费网络 更多