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

VirMach(8元/月)KVM VPS,北美、欧洲

VirMach,成立于2014年的美国IDC商家,知名的低价便宜VPS销售商,支持支付宝、微信、PayPal等方式付款购买,主打美国、欧洲暑假中心产品,拥有包括洛杉矶、西雅图、圣何塞、凤凰城在内的11个数据中心可以选择,可以自由搭配1Gbps、2Gbps、10Gbps带宽端口,有Voxility DDoS高防IP可以选择(500Gbps以上的防御能力),并且支持在控制面板付费切换机房和更换IP(带...

Vultr VPS韩国首尔机房速度和综合性能参数测试

Vultr 商家有新增韩国首尔机房,这个是继日本、新加坡之后的第三个亚洲机房。不过可以大概率知道肯定不是直连中国机房的,因为早期的日本机房有过直连后来取消的。今天准备体验看看VULTR VPS主机商的韩国首尔机房的云服务器的速度和性能。1、全球节点PING速度测试这里先通过PING测试工具看看全球几十个节点的PING速度。看到好像移动速度还不错。2、路由去程测试测试看看VULTR韩国首尔机房的节点...

轻云互联22元/月,美国硅谷、圣何塞CN2GIA云服务器,香港沙田cn2建站vps仅25元/月

轻云互联怎么样?轻云互联,广州轻云网络科技有限公司旗下品牌,2018年5月成立以来,轻云互联以性价比的价格一直为提供个人,中大小型企业/团队云上解决方案。本次轻云互联送上的是美国圣何塞cn2 vps(免费50G集群防御)及香港沙田cn2 vps(免费10G集群防御)促销活动,促销产品均为cn2直连中国大陆线路、采用kvm虚拟技术架构及静态内存。目前,轻云互联推出美国硅谷、圣何塞CN2GIA云服务器...

asp 文件上传为你推荐
视频截图软件什么视频截图软件最好用pwPW考试是指什么数码资源网哪个网站可以直接在线做照片?功能要齐全的`ps抠图技巧ps的抠图技巧是什么镜像文件是什么系统镜像是什么镜像文件是什么镜像文件是什么意思?安卓应用平台app应用平台有哪些 应用平台哪些直播加速有没有软件使已经下载好了的视频播放加速,例如30分钟的视频15分钟或者20分钟播放完怎么升级ios6苹果iPhone6怎么升级系统bt封杀BT下载被封锁了,怎么办,下载不了电影了!
动态域名 已备案未注册域名 新秒杀 宕机监控 表单样式 双11抢红包攻略 debian7 华为网络硬盘 qq数据库下载 nerds 卡巴斯基免费试用 yundun umax 腾讯云平台 标准机柜 远程登录 香港打折信息 tracert wordpress安装 lighttpdwindows 更多