ASP中文件上传组件ASPUpload介绍和使用方法
[导读]要实现该功能,就要利用一些特制的文件上传组件。文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件
1 下载和安装ASPUpload
要实现该功能,就要利用一些特制的文件上传组件。文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件,它的下载网址是:
http://www.persits.com/aspupload.exe
组件提供者网址是:
http://www.aspupload.com
注意:首先去掉要存放上传文件的文件夹的只读属性,对于Windows2000和Windows
XP来说,如果安装时采用NTFS文件系统,还需要将该文件夹设置为EveryOne(任何人)可以完全控制。
按照上面的网址下载该组件后,直接双击下载文件,按照提示一步一步安装即可。安装完毕后,将默认生成"c:\Program
Files\Persits Software\AspUpload"文件夹,里面有使用说明和例子。
2.
使用ASPUpload组件上传文件
该组件功能强大,不仅可以上传文件,还可以像普通表单一样上传一些表单元素值,这样就可以给上传的文件加一些说明文字。因为既有上传文件属性,又有上传表单属性,所以比较复杂,这里只介绍最常用的。
上传组件的常用属性如表8-2所示。
表8-2 上传组件的属性
上传组件的常用方法如表8-3所示。
表8-3 上传组件的方法
上传表单元素的属性如表8-5所示。
表8-5 上传表单元素的属性
清单8-3 8-3.asp
上传文件表单
<html>
<head>
<title>
上传一个文件示例</title>
</head>
<body>
<H2
align="center">上传一个文件</H2>
<center>
<form
action="8-4.asp" method="post" enctype="multipart/form-data"
>
选择文件:<input type="file"
name="upfile"><br>
文件说明:<input type="text" name="intro"
size="30"><br>
作者姓名:<input type="text" name="author"
size="30"><br>
<input type="submit" value=" 确定
">
</form>
</center>
</body>
</html>
清单8-4
8-4.asp 上传文件执行程序
<% Option Explicit
%>
<html>
<head>
<title>上传一个文件示例</title>
</head>
<body>
<H2
align="center">文件已安全上传</H2>
<center>
<%
Dim
Upload '声明一个变量
Set Upload = Server.CreateObject("Persits.Upload.1")
'创建一个文件上传组件实例
Upload.SetMaxSize 2*1024*1024,False
'限制文件不超过2M,否则截断
Upload.OverwriteFiles=True
'True表示可以覆盖
Upload.Save "C:\inetpub\wwwroot\asptemp\chapter8\upload"
'上传到指定文件夹
Response.Write "上传文件为:" & Upload.Files("upfile").Path
& "<BR>"
Response.Write "文件大小为:" &
Upload.Files("upfile").Size & "字节<BR>"
Response.Write
"文件说明为:" & Upload.Form("intro").value &
"<BR>"
Response.Write "作者姓名为:" & Upload.Form("author").value
&
"<BR>"
%>
</center>
</body>
</html>
程序说明:
1)注意8-3.asp中FORM表单的写法:<form action="8-4.asp" method="post"
enctype="multipart/form-data"
>,这里一定要写成enctype="multipart/form-data"。
2)还要注意,选择文件用的是FORM表单的选择文件元素:<input type="file"
name="upfile">
3)关于限制文件大小,Upload.SetMaxSize 2*1024*1024,False
表示限制文件大小为2MB;False表示如果文件超过2MB,则自动截断为2MB大小;如果改为True,则不自动截断,程序将报错误信息。
4)关于文件可以覆盖,Upload.OverwriteFiles=True表示如果文件名和原有的文件名字相同,则可以覆盖;False表示不可以覆盖,将自动另外起一个名字保存。默认为True。
5)关于文件保存路径,Upload.Save "C:\inetpub\wwwroot\asptemp\chapter11\upload"
,这里写的物理路径,也可以利用以前学过的Server对象的Mappath方法,此句可以写成:Upload.Save.Server.Mappath("upload")
。这样写,程序移植更方便。
6)还要特别注意的是,用于保存上传文件的文件夹必须是存在的;而且,如果服务器是Windows 2000或Windows
NT操作系统,必须将该文件夹权限设置成所有人可以存取的,否则将无法上传文件。
7)在获取上传文件的属性时,用了Upload.Files("upfile").Path和Upload.Files("upfile").Size,后面的Path和Size属性不可以省略,否则不清楚到底希望获取文件的什么属性。而获取表单元素时,用了Upload.Form("intro").value,这时的Value属性是可以省略的。
在上面的例子里,一次只能上传一个文件,如果想一次上传多个文件页很容易,只要像在普通的FORM表单里加多个表单元素一样就可以了,请参考下面具体的例子。
清单8-5 8-5.asp 上传多个文件表单
<html>
<head>
<title>
上传多个文件示例</title>
</head>
<body>
<H2
align="center">上传多个文件</H2>
<center>
<form
action="8-6.asp" method="post" enctype="multipart/form-data"
>
选择文件1:<input type="file" name="
upfile1">
文件说明1:<input type=text name="intro1"
size="30"><BR>
选择文件2:<input type="file"
name="upfile2">
文件说明2:<input type=text name="intro2"
size="30"><BR>
<input type="submit" value=" 确定
">
</form>
</center>
</body>
</html>
清单8-6
8-6.asp 上传多个文件执行文件
<% Option Explicit
%>
<html>
<head>
<title>
上传多个文件示例</title>
</head>
<body>
<H2
align="center">文件已安全上传</H2>
<center>
<%
Dim
Upload
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.Save
Server.Mappath("upload") '上传到指定文件夹
Dim upfile,Item
For Each
upfile In Upload.Files '这里用一个循环写出所有文件的信息
Response.Write upfile.Name
& "=" & upfile.Path & " (" & upfile.Size &
")<BR>"
Next
For Each Item In Upload.Form
'这里用一个循环写出所有表单元素信息
Response.Write Item.Name & "=" & Item.Value
&
"<BR>"
Next
%>
</center>
</body>
</html>
程序说明:
在上面的程序中没有像前一个例子一样一个一个写出上传文件和文件说明,而是用了一个For
Each循环,效果是一样的。因为上传后,其实是传上来一个Files集合,一个Form集合。Files集合包括所有上传文件,Form集合包括所有上传表单元素。
ASP中文件上传组件ASPUpload介绍和使用方法的更多相关文章
- Asp.net MVC中文件上传的参数转对象的方法
参照博友的.NET WebApi上传文件接口(带其他参数)实现文件上传并带参数,当需要多个参数时,不想每次都通过HttpContext.Request.Params去取值,就针对HttpRequest ...
- ASP.NET Core WEB API 使用element-ui文件上传组件el-upload执行手动文件文件,并在文件上传后清空文件
前言: 从开始学习Vue到使用element-ui-admin已经有将近快两年的时间了,在之前的开发中使用element-ui上传组件el-upload都是直接使用文件选取后立即选择上传,今天刚好做了 ...
- ASP.NET:MVC中文件上传与地址变化处理
目录 文件的上传和路径处理必须解决下面列出的实际问题: 1.重复文件处理 2.单独文件上传 3.编辑器中文件上传 4.处理文章中的图片路径 5.处理上传地址的变化 一.上传文件和重复文件处理 文件处理 ...
- asp.net 文件上传示例整理
ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. 代码如下 复制代码 ...
- jQuery.uploadify文件上传组件实例讲解
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- jsp\struts1.2\struts2 中文件上传(转)
jsp\struts1.2\struts2 中文件上传 a.在jsp中简单利用Commons-fileupload组件实现 b.在struts1.2中实现c.在sturts2中实现现在把Code与大家 ...
- Atitit..文件上传组件选型and最佳实践总结(2)----断点续传
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 如何判断一个插件/控件是否支持断点续传?? 1 3. 常用的组件选型结果::马 1 4. 自定 ...
- 多文件上传组件FineUploader使用心得
原文 多文件上传组件FineUploader使用心得 做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/> ...
- Atitit..文件上传组件选择and最佳实践的总结(2)----HTTP
Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 怎样推断一个插件/控件是否支持断点续传?? 1 3. 经常使用的组件选型结果::马 1 4. ...
随机推荐
- tudou link
http://www.tudou.com/programs/view/QdOktCIUfQ0/?tid=-1&aid=-120137222&pid=41050010&oid=2 ...
- 字典实体类:DictionaryEntry类
DictionaryEntry类是一个字典集合,主要包括的内容是键/值对.这样的组合方式能够方便地定位数据,当中的"键"具备唯一性,类似于数据库中的"id",一 ...
- three.js是JavaScript编写的WebGL第 三方库
three.js是JavaScript编写的WebGL第 三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质 ...
- 经典回忆Effective C++ 1
c++ 联邦语言: typedef { unit C; unit Object-Oriented C++; unit Template C++; unit STL; }; notice: C++高效编 ...
- ubuntu 搭建svn服务器
1.安装Subversion sudo apt-get install subversion 2.创建资源库 cd /home/username/ svnserve -d -r /home/usern ...
- 多线程之join方法
join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用join方 ...
- Android应用Activity、Dialog、PopWindow、Toast窗体加入机制及源代码分析
[工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 1 背景 之所以写这一篇博客的原因是由于之前有写过一篇<Android应用setCont ...
- sscanf,sscanf_s及其相关使用方法
#include<stdio.h> 定义函数 int sscanf (const char *str,const char * format,........); 函数说明 sscan ...
- hdu1754(splay)
给n个数,有两种操作 Q a b 询问区间[a,b]的最大值, U a b 将第a个数的值改成b splay树的中序遍历是我们所维护的序列.如果要询问区间[a,b]的最大值,那么只要将第a ...
- uva10465(完全背包,要求装满背包)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&c ...