用两行代码在浏览器中实现文件上传

夏天的百皱裙照

夏天的百皱裙照

2016-01-29 18:14

用两行代码在浏览器中实现文件上传,用两行代码在浏览器中实现文件上传
  简介
文件上传是将任意的文件从客户机发送到服务器的过程。最简单、最方便的上传方法是使用支持RFC1867的浏览器,如微软的Internet Explorer4.0以上版本,Netscape3.0以上版本,或者带附件的Internet Explorer3.0。基于浏览器的文件上传是通过带有属性ENCTYPE="multipart/form-data"的HTML form实现的。这个form也必须包含一个或多个<INPUT TYPE=FILE项,以让用户指定要上传的本地文件。


带有ENCTYPE="multipart/form-data"属性的form所发送的数据必须被一个服务器端过程解析,以展开上传的文件和其他非文件项。在ASP环境中,这种任务用编译好的active server组件能最好的完成,比如Persits软件公司的AspUpload
(http://www.persits.com)。

本文所有示例都是建立在你的系统中安装了AspUpload的基础上的。可以在这里下AspUpload
免费评估版http://www.persits.com/aspupload.html。解压文件后,将AspUpload.dll
放在任意目录中,在MS DOS窗口中执行命令

regsvr32 c:dirAspUpload.dll
开始
我们来创建一个简单的能上传3个文件的HTML form,和控制上传的脚本。
这里是第一个HTML文件
Test1.htm:
<HTML
<BODY BGCOLOR="#FFFFFF"

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript1.asp"
<INPUT TYPE=FILE SIZE=60 NAME="FILE1"<BR
<INPUT TYPE=FILE SIZE=60 NAME="FILE2"<BR
<INPUT TYPE=FILE SIZE=60 NAME="FILE3"<BR
<INPUT TYPE=SUBMIT VALUE="Upload!"
</FORM
</BODY
</HTML
每个 <INPUT TYPE=FILE 项在浏览器中显示成为一个带有"Browse..."按钮的文本输入框。如果你没看见Browse按钮,很有可能说明你的浏览器不支持文件上传。

这里是相应的上传脚本 UploadScript1.asp:
  <HTML  
<BODY  
<%  
Set Upload = Server.CreateObject("Persits.Upload.1")  
Count = Upload.Save("c:upload")
%
<% = Count % files uploaded.  
</BODY  
</HTML




ASP脚本的第一行仅仅创建了一个AspUpload对象的实例。第二行调用组件的Save方法,它实际上的作用是:它解析从浏览器发送的东西,计算出有多少个文件正在上传,并且把他们存在服务器上指定的目录。目录名可能以反斜线结束,也可能不是。所有文件将以他们原来的名字存放在目录中。我们很快将看到如何更改任意或者所有文件的名字。

Save方法返回成功上传的文件数量。万一发生错误,这个方法将抛弃之。

注意你能够使用我们的form中任意或者全部三个输入框。AspUpload有足够的智慧判断出哪些输入框使用了,哪些没有。
  

使用FILES和FORMS集合访问单个form项
我们看看第二组示例:

Test2.htm
<HTML
<BODY BGCOLOR="#FFFFFF"

<FORM METHOD="POST" ENCTYPE="multipart/form-data" ACTION="UploadScript2.asp"
File 1:<INPUT TYPE=FILE NAME="FILE1"
Description 1:<INPUT TYPE=TEXT NAME="DESCR1"<BR
File 2:<INPUT TYPE=FILE NAME="FILE2"
Description 2:<INPUT TYPE=TEXT NAME="DESCR2"<BR

<INPUT TYPE=SUBMIT VALUE="Upload!"

</FORM
</BODY
</HTML
  
UploadScript2.asp <HTML  
<BODY  
<%  
Set Upload = Server.CreateObject("Persits.Upload.1")  
Upload.Save "c:upload"
%  
Files:<BR  
<%  
For Each File in Upload.Files  
Response.Write File.Name & "=" & File.Path & " (" & File.Size & ")<BR"
Next
%  
<P  
Other items:<BR  
<%  
For Each Item in Upload.Form  
Response.Write Item.Name & "=" & Item.Value & "<BR"
Next
%  
</BODY  
</HTML



注意我们的HTML form现在有两种输入框,TYPE=FIL
展开更多 50%)
分享

猜你喜欢

用两行代码在浏览器中实现文件上传

ASP
用两行代码在浏览器中实现文件上传

Word文档中轻松实现两行对齐

办公软件
Word文档中轻松实现两行对齐

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Word文档中轻松实现两行对齐(图)

办公软件
Word文档中轻松实现两行对齐(图)

在VB中实现文件上传

编程语言 网络编程
在VB中实现文件上传

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在Struts 2中实现文件上传

编程语言 网络编程
在Struts 2中实现文件上传

6行代码实现无组件上传

ASP
6行代码实现无组件上传

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

XP SP2多线程访问提速秘技

XP SP2多线程访问提速秘技

IBM服务器中所用到UNIX系统AIX

IBM服务器中所用到UNIX系统AIX
下拉加载更多内容 ↓