教学前言
课程介绍
师资介绍
教材介绍
课程计划
教学大纲
教学计划
实训计划
课程总表
教学内容
作业考试
作业上传
在线测试
测验考试
互动讨论
学习论坛
疑难解答
意见建议
 
 
章节:
第5章 ASP的组件
5.4 文件上传组件 FLASH版演示教案
教学目的:
掌握文件上传组件的功能及使用方法
重点:
文件上传属性的设置
难点:
文件上传属性的设置
内容:

Web程序设计时经常遇到需要设计客户端文件上传功能,比如论坛里的贴图上传、办公系统文件的传递、网上课堂学生作业的递交、新闻发布系统中新闻图片的上传等。互联网上有许多由第三方开发的文件上传组件可供下载使用,其中比较著名且功能相对比较强大的是ASPUpload组件。
5.4.1 文件上传组件的来源与安装
AspUpload组件可以从http://www.aspupload.com处下载。
AspUpload下载到服务器之后,按照安装向导的指示一步步安装即可。
AspUpload是个功能非常强大的文件上传组件,它目前是一款共享软件,试用期为30天。如果只是需要简单的文件上传功能,可以从网上去寻找一些小巧并且完全免费的上传组件。
要注意的是,下载组件的文件形式一般有两种,.EXE可执行文件和.DLL动态链接库文件。对于EXE程序,只需要按照安装向导的提示一步步安装即可;而DLL动态链接库文件则需要在操作系统的【运行】对话框里输入注册命令,手工进行系统注册,例如,如果该组件的DLL文件名为x.dll,则注册命令为“regsvr32 x.dll”。对于第三方组件的具体安装及使用方法,下载组件一般都会附带相应的帮助文件,请仔细阅读说明。
5.3.2 文件上传组件的使用
AspUpload的功能非常强大,可以实现多种方案的文件上传,还有一些附属功能。我们这里只是简单的介绍其文件上传功能。
上传文件的属性设置:
SetMaxSize 设置上传文件的最大字节数
OverWriteFiles 能否将同名文件覆盖。布尔值,默认为Ture,能覆盖
上传文件的常用方法:
Save 将文件上传到某个文件夹中
Files 取得上传文件对象的方法
上传文件的属性:
Path 文件上传后的存放位置
Size 文件上传后的大小(字节数)
范例5-7:基于校园网的网上课堂网站要设计学生作业的递交功能,在服务器端下载并安装好AspUpload后,建立站点下的子文件夹job,在job文件夹下再建立文件夹jobupload,用于接收学生上传的作业文件,在job文件夹里建立文件上传表单的页面文件jobupload.htm和文件上传的程序处理文件jobupload.asp。
文件上传表单的页面文件jobupload.htm其代码如下:
<html>
<head>
<title>上传文件</title>
</head>
<body>
<center>
<form action="jobupload.asp" method="post" enctype="multipart/form-data" >
请选择您要上传的作业:<input type="file" name="upjob"><BR>
<input type="submit" value="确定">
</form>
</center>
</body>
</html>
说明:
▲ <form>标记中必须要有enctype ="multipart/form-data"。
▲ 表单元素file的功能是打开【选择文件】对话框,以选择要上传的文件。
▲ action="jobupload.asp",表示将表单内容送往jobupload.asp进行处理。jobupload.htm并不包含ASP程序,所以此页面文件的文件类型是普通的html文件。
文件上传的程序处理文件jobupload.asp其代码如下:
<html>
<head>
<title>上传文件</title>
</head>
<body>
<center>
<%
Set Upload = Server.CreateObject("Persits.Upload.1") ' 创建文件上传对象
upload.SetMaxSize 1024*1024,false ' 设定上传文件的大小
upload.OverwriteFiles=True ' 如有同名文件,True表示可以覆盖
Upload.Save server.mappath("jobupload") '上传作业文件保存到指定文件夹
' 获得并显示上传文件的属性
Response.Write "上传文件为:" & upload.files("upjob").Path & "<BR>"
Response.Write "文件大小为:" & upload.files("upjob").Size & "字节<BR>"
%>
</center>
</body>
</html>
说明:
▲ upload.SetMaxSize 1024*1024,false
1024*1024表示控制上传文件大小为1M。False表示如果上传文件超过指定最大字节数,将截为1M大小,如果改为Ture,则当上传文件超过指定最大字节数时,将会报错。
▲ upload.OverwriteFiles=True
True表示如果存储上传文件的文件夹中有同名文件,将覆盖,如果改成False表示不可以覆盖,系统将自动以另一个文件名进行保存。
▲ Upload.Save server.mappath("jobupload")
指定所上传文件的保存位置。本例中上传文件的存储文件夹jobupload与jobupload.htm和jobupload.asp位于同一层下。这个文件夹要先建立好,并且权限设定为任何人可以存取。这里采用了虚拟路径来表示文件夹的位置,主要是为了程序的移植方便,你也可以用绝对路径来表示。
▲ upload.files("upjob").Path和upload.files("upjob").Size
用于获取上传文件的保存位置和大小属性。
其实AspUpload是个功能很强大的文件上传组件,我们这里只是介绍了其基本的简单的用法,对它感兴趣的同学可以去阅读附带的帮助文件,还可以查看里面的一些实际应用范例。


FLASH版演示教案:
FLASH版演示教案
实训作业:
如果要在盛达公司的网站建立一个新商品图片的展示栏目,通过AspUpload组件上传图片文件。请编写出新商品图片文件上传程序,要求:上传图片文件不能超过2M,如果超过,系统自动载为2M;上传文件的保存文件夹名为imageupload,并且与上传页面文件的位置在同一层,imageupload文件夹位置用虚拟路径表示。
在线测试:
在线测试
附:
LyfUpload组件介绍
本章小结
本章介绍了ASP的组件,有选择地介绍了内置组件中的文件存取组件和由第三方开发的文件上传组件的使

用方法。利用组件,可以方便的实现一些强大的交互性功能。
备注:

1、文件上传组件的使用效果见本平台的“作业上传”栏目。
2、如果是租用ISP的服务器空间,采用组件方式上传文件一般不支持,这时就要改动无组件上传方式,有兴趣的同学可以上网查阅相关介绍资料。

    

~ 江西信息应用技术职业学院信息技术系制作 ~

E-Mail:lxlz2050@163.net Tel:0791-5275546