ASP: 浏览器中上载文件的方法与实现

浏览器

---- 一、问题引入

---- 在现在的管理信息系统中,比较先进的都已采用浏览器/服务器的模型,在这种模型中都要涉及到客户端与服务器端的信息交互问题,从服务器端到客户端的信息传递技术已经比较成熟,这里主要讨论从客户端到服务器端的文件上载问题,基于Microsoft的IE4.0、IIS4.0、ASP(Active Server Page)和标准HTML语言。

---- 二、实现方法

---- 在ASP页面中,利用HTML中的Form元素来实现。

---- 在Form元素的语法中,EncType表明提交数据的格式,Method表明提交的方法(Get/Post)。在IE4.0 及以后的版本中都支持"multipart/form-data"这种格式,相应的Method方法必须是Post,表明要上载文件到服务器。当然同时在服务器相应的WEB站点上要把属性设为可写。下面是一个示例:

< form enctype="multipart/form-data"
action="http://dev_d/upload/post/cpshost.dll?
PUBLISH?http://dev_d/upload/UserUploadAction.asp"
method=post id=form2 name=form2 >

1. Press the Browse button and
choose a File to upload from your computer.
< br >< input type="file" id=file1 name=file1 >
2. Upload the file.
< br >< input type=hidden size=80 name="TargetURL"
value=http://dev_d/upload/post >
< input type=submit value='Upload'
id=submit1 name=submit1 >
< /form >

---- 三、实现要素

1 Form的enctype="multipart/form-data"。

2 Form的action="(UserURL)/cpshost.dll?PUBLISH?
(UserURL)/UserUploadAction.asp"。

---- 说明:cpshost.dll是用于文件上载的动态链接文件,其后的PUBLISH参数也为固定,而(UserURL)指的是完整的URL地址,如:http://dev_d/upload。如果PUBLISH后没有参数,上载文件完成后,只是简单返回文件已经上载;如果PUBLISH后跟上完整URL的ASP文件,就可以用ASP来处理文件上载后的其他操作,如修改相应的数据库数据。可以在ASP文件中用Request.Form("Variable")来访问相应参数。对上载文件来说,Variable有四种可能的值:FileName 文件名称(不包括后缀),FileExtention 文件后缀(包括"."),FilePath 上载文件保存的服务器端路径,FileSize 上载文件的字节大小。

---- 3 Form的Method的方法必须为Post。

---- 4 Form中必须有一个input元素,而且input的属性type="file"。

---- 说明:如果要上载多个文件,有多个input元素就可以了,但至少有一个有效文件,否则会出错。

---- 系统会自动产生一个文本区域和一个"browse..."按钮,可以直接在文本区域内输入文件路径名称,或按"browse..."按钮,从文件对话框中选择一个文件。

---- 5 Form中必须有一个隐含(即type=hidden)input元素,而且input的属性name="TargetURL",属性

---- value="(UserURL)",(UserURL)即为上载文件保存位置的URL地址。

---- 说明:文件保存位置的URL地址属性必须设为可写,否则会返回此URL地址没有写的权限。

---- 6 Form中必须有一个submit按钮,即input的属性type="submit",此按钮即为上载按钮。或者在其他相关事件中调用此Form的Submit方法。但两种方法实际上本质相同,只不过用方法调用还可以在上载前加上其它处理代码,如数据的有效性检查等。

---- 四、完整实例

---- 1 用户上载文件页面UserUpload.asp

< % response.expires=0 % >
< HTML >
< HEAD >
< META NAME="GENERATOR"
Content="Microsoft Visual Studio 6.0" >
< /HEAD >

< BODY >

< form enctype="multipart/form-data"
action="http://dev_d/upload/post/cpshost.dll?
PUBLISH?http://dev_d/upload/UserUploadAction.asp"
method=post id=form2 name=form2 >
< table BORDER=0 CELLSPACING=3 CELLPADDING=3 >
< tr >
< td valign=top >< span >1. < /span >
< td >Press the Browse button and choose a File to upload from your computer.
< br >< input type="file" id=file1 name=file1 >
< br >< input type="file" id=file2 name=file2 >
< /td >
< tr >
< TD vAlign=top >< SPAN >2. < /SPAN >
< TD >Upload the file.
< br >< input type=hidden size=80 name="TargetURL" value="http://dev_d/upload/post" >
< input type=submit value='Upload'
id=submit1 name=submit1 >
< /td >
< /table >
< /form >
< /BODY >
< /HTML >

2 用户上载文件处理页面UserUploadAction.asp
< % Response.Buffer = TRUE % >
< % Response.expires=0 % >

< HTML >
< BODY >
< H3 >Upload Status:< BR >< /H3 >

< span style="color:gray" >< HR >
< % For I = 1 To Request.Form("FileName").Count
Response.Write "Uploaded File: < B >" &
Request.Form("FileName")(I) &
Request.Form("FileExtention")(I) &"< /B >< BR >"
Response.Write "Server Path: < B >" &
Request.Form("FilePath")(I) & "< /B >< BR >"
Response.Write "Size: < B >"
& Request.Form("FileSize")(I)
& " bytes< /B >< br >"
Next
FileName = Request.Form("FilePath")(1) &
Request.Form("FileName")(1) &
Request.Form("FileExtention")(1)
% >
< hr >< br >
< % if request.form("FilePath").count = 0 then
Response.Write ("No file was received.")
Response.End
else
Response.Write (filename+" File was received.")
end if % >
< /span >
< /BODY >
< /HTML >

时间: 2024-10-21 23:16:14

ASP: 浏览器中上载文件的方法与实现的相关文章

如何除浏览器中驱动文件

  不知道从什么时候开始,很多浏览器都在安装的时候,在安装目录中加入了驱动文件.由于驱动文件的权限等级特别的高,很多用户认为这些驱动文件会在系统后台干其他的事,所以他们都想将驱动文件从安装目录中删除.但是驱动文件并不等同于普通的文件,常规的删除方法对它并没有效果.下面就给大家介绍删除常用浏览器中驱动文件的方法. 禁止使用猎豹驱动 猎豹浏览器是国内最早添加驱动文件的浏览器,虽然它是以安全的名义来加入驱动文件的,但是很多用户对此仍然是不屑一顾.所以要想禁用猎豹浏览器中的驱动文件,首先点击浏览器操作界

浅谈ASP程序设计中数据库文件调用的捷径

程序|设计|数据|数据库 引言 本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧. ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的

ASP开发中数据库文件调用

数据|数据库 引言    本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧.    ASP简介    ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交

ASP开发中数据库文件调用(1)

数据|数据库 引言 本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧. ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的Web服务器

ASP开发中数据库文件调用的捷径

数据|数据库 引言 本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧. ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的Web服务器

ASP开发中数据库文件调用的捷径_应用技巧

引言  本文针对ASP程序设计中最基础.也是最关键的部分"数据库文件的调用"进行说明,同时谈谈ASP程序设计中数据库文件调用的一些技巧.  ASP简介 ASP(Active Server Pages)是微软于1996年推出的Web应用程序开发技术,它是一种脚本语言.ActiveX组件及HTML语言等的综合,微软把它描述为"一个服务器的脚本环境,在这里可以生成和运行动态的.交互的.高性能的Web服务器应用程序".其主要功能是为生成动态的.交互式的Web服务器应用程序提

总结三种ASP.Net中上传文件的方法

ASP.Net的WebForm开发模式中,封装了FileUpload控件,可以方便的进行文件上传操作.但有时,你可能不希望使用ASP.Net中的服务器控件,仅仅使用Input标签来实现文件上传.当然也是可以的.下面总结在项目中使用过的上传文件的方式. 本文我们总结了三种ASP.Net中上传文件的方法. 一.使用Asp.Net中的FileUpload服务器端控件实现上传 使用asp.net中的服务器端控件FileUpload上传文件非常方便.FileUpload对上传操作进行了封装,你只需要调用S

在ASP.NET中进行文件处理(4)

asp.net 四.在ASP.NET页面中完成文件的拷贝.移动和删除操作       在ASP.NET中完成文件的拷贝.移动和删除操作就更简单了.这是因为在名称空间System.IO中就定义了对文件进行拷贝和移动的方法.直接调用这些方法就可以完成以上操作.下面给出文件拷贝.移动和删除例子.       1).文件拷贝操作      <% @ Import Namespace = "System.IO" %>   <%   ' 下面语句完成文件拷贝工作   File.c

在ASP.NET中进行文件处理(1)

asp.net 一种程序设计语言,对文件处理的能力的大小往往也是一种语言功能大小的一种表现.在ASP.NET中,对于文件的处理主要是通过.Net FrameWork SDK中的一个System.IO的名称空间来实现了,在System.IO名称空间中定义了许多关于文件处理的类(class).方法和属性,这些类.方法和属性使得在很容易在ASP.NET中进行文件处理.由于在此名称空间中有定义了许多类.方法和属性,而这些不可能通过本文来一一介绍.本文主要结合例子来具体介绍对于文件处理的基本操作.