上传信息技术教学系统中利用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年

Sharktech10Gbps带宽,不限制流量,自带5个IPv4,100G防御

Sharktech荷兰10G带宽的独立服务器月付319美元起,10Gbps共享带宽,不限制流量,自带5个IPv4,免费60Gbps的 DDoS防御,可加到100G防御。CPU内存HDD价格购买地址E3-1270v216G2T$319/月链接E3-1270v516G2T$329/月链接2*E5-2670v232G2T$389/月链接2*E5-2678v364G2T$409/月链接这里我们需要注意,默...

pia云低至20/月,七折美国服务器

Pia云是一家2018的开办的国人商家,原名叫哔哔云,目前整合到了魔方云平台上,商家主要销售VPS服务,采用KVM虚拟架构 ,机房有美国洛杉矶、中国香港和深圳地区,洛杉矶为crea机房,三网回程CN2 GIA,带20G防御,常看我测评的朋友应该知道,一般带防御去程都是骨干线路,香港的线路也是CN2直连大陆,目前商家重新开业,价格非常美丽,性价比较非常高,有需要的朋友可以关注一下。活动方案...

特网云-新上线香港五区补货资源充足限时抢 虚拟主机6折,低至38元!

官方网站:点击访问特网云官网活动方案:===========================香港云限时购==============================支持Linux和Windows操作系统,配置都是可以自选的,非常的灵活,宽带充足新老客户活动期间新购活动款产品都可以享受续费折扣(只限在活动期间购买活动款产品才可享受续费折扣 优惠码:AADE01),购买折扣与续费折扣不叠加,都是在原价...

asp 文件上传为你推荐
推广方法最有效的推广方法是什么?快速美白好方法有什么快速美白的好办法吗?ghostxp3目前最好的ghost xp3是什么?依赖注入什么是侵入性?还有依赖注入?自助建站自助建站哪个平台最好?网站运营一般网站如何运营百度手写百度如何手写:数据库损坏数据库坏了,怎么修复?雅虎天盾有没有用用雅虎天盾的啊?xp系统停止服务xp系统停止服务怎么办
空间域名 过期备案域名查询 韩国vps俄罗斯美女 域名服务器上存放着internet主机的 英语简历模板word 密码泄露 150邮箱 e蜗牛 100m免费空间 宏讯 vul 阿里云免费邮箱 国外的代理服务器 万网主机 登陆qq空间 广州服务器托管 双11促销 最新优惠 2016黑色星期五 阿里云宕机故障 更多