要实现该功能,就要利用一些特制的文件上传组件。文件上传组件网页非常多,这里介绍国际上非常有名的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组件上传)的更多相关文章

  1. asp 文件上传(无组件上传)

    文件1.上传界面文件 upload.htm<html><head><meta http-equiv="Content-Language" conten ...

  2. AspUpload组件的安装及使用方法介绍

    http://soft.huweishen.com/soft/47.html AspUpload对ASP编程人员来说要实现ASP网站文件上传功能它是首选.本文就为大家介绍一下AspUpload组件的安 ...

  3. asp.net文件上传下载组件

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传  ...

  4. flash文件上传下载组件

    以ASP.NET Core WebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API ,包括文件的上传和下载. 准备文件上传的API #region 文件上传  ...

  5. chunkupload文件上传断点续传组件(java)

    chunkupload简介 chunkupload是一款基于java语言的断点续传组件,针对文件上传,非文件下载,集成方便,使用简单. 从整体上讲,chunkupload会对文件进行切片处理,每个切片 ...

  6. chunkupload 文件上传断点续传组件(java) - 正式发布

    chunkupload简介 chunkupload是一款基于java语言的断点续传组件,针对文件上传,非文件下载,集成方便,使用简单. chunkupload实现如下功能: ·  实现断点续传 ·  ...

  7. 打造 html5 文件上传组件,实现进度显示及拖拽上传,支持秒传+分片上传+断点续传,兼容IE6+及其它标准浏览器

    老早就注册了博客园帐号,昨天才发现,连博客都没开,Github也是一样,深觉惭愧,赶紧潜个水压压惊`(*∩_∩*)′ 言归正传.大概许多人都会用到文件上传的功能,上传的库貌似也不少,比如(jQuery ...

  8. 使用commons-fileUpload组件上传文件

    在近期的一个项目中有用到commons-fileUpload组件进行实现文件上传的功能(由于没用到框架),在使用的过程中有遇到一些问题,经过自己的琢磨也算顺利地将其解决了,在这里做个记录. 一.com ...

  9. EasyUI 关于IE使用window组件上传文件

    有时候IE会对使用window组件上传文件(第二次)不生效,解决方案是: 将该window每次打开的时候,使用: $('#adUploadWindow').window('refresh', 'pan ...

随机推荐

  1. 强大的数据恢复软件--EasyRecovery专业版

    EasyRecovery 是世界著名数据恢复公司 Ontrack 的技术杰作,它是一个威力非常强大的硬盘数据恢复工具.能够帮你恢复丢失的数据以及重建文件系统.EasyRecovery不会向你的原始驱动 ...

  2. 剑指offer——替换字符串

    总结:先计算出总共有多少空格,count++:然后从后往前遍历,每遇到一个空格,count--:       替换空格 参与人数:2119时间限制:1秒空间限制:32768K 通过比例:20.23% ...

  3. 打造属于自己的安卓Metro界面

    前言: 各位小伙伴,又到了每周更新文章了时候了,本来是周日能发出来呢,这不是赶上清明节吗,女王大人发话了,清明节前两天半陪她玩,只留给我周一下午半天时间写博客,哪里有女王哪里就有压迫呀有木有!好了闲话 ...

  4. Contoso 大学 - 10 - 高级 EF 应用场景

    原文 Contoso 大学 - 10 - 高级 EF 应用场景 By Tom Dykstra, Tom Dykstra is a Senior Programming Writer on Micros ...

  5. (转)Mysql数据库读写分离配置

    环境模拟 实现读写分离 减轻数据库的负荷 主服务器 master 10.0.0.12从服务器 slave 10.0.0.66 ------------------------------------- ...

  6. MyBatis参数传入集合之foreach动态sql

    foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合.foreach元素的属性主要有item,index,collection,open,separator,close.ite ...

  7. Remote Desktop Organizer远程桌面管理软件的基本使用和介绍

    <Remote Desktop Organizer>是一款用于远程桌面管理的软件.软件支持windows平台运行. Remote Desktop Organizer 是一款 Windows ...

  8. Error LNK2001 无法解析的外部符号 的几种情况及解决办法

    最近遇到的关于VS里编译出现的“无法解析的外部符号”问题,在网上寻求解决办=办法时查到下面的博客内容,作者讲解的挺全面的,作为收藏以备将来查询. 原文http://blog.csdn.net/shen ...

  9. java web中cookie的永久创建与撤销

    一.首先是创建cookie 当在数据库中查找知道所输入的用户名和密码正确之后,就开始创建: String cb=request.getParameter("cb");//cb就是登 ...

  10. HTML5+J2EE实现文件异步上传

    P.S. HTML5经过了W3C的8年努力,终于正式推广了.这次升级最大的就是升级了XMLHTTPRequest,让它变成了XMLHTTPRequest Level II(这有啥奇怪的?).这个对象现 ...