分享
 
 
 

ASP中多文件同时上传解决方案

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

ASP中多文件同时上传解决方案

上传表单如下:

标题:

性别: 男 女

属于: 文学 体育 艺术 其它

是否选定:

内容:

分类: 分类1 分类2 分类3 分类4 分类5

选取文件一:

选取文件二:

选取文件三:

选取文件四:

选取文件五:

ASP源代码:

<HTML>

<BODY>

<TITLE>文件上传</TITLE>

<CENTER>

</CENTER>

<% Set Obj = Server.CreateObject("Yousoft.UploadFile")

Response.Write "总共上传 " & obj.Count & " 个文件<br>总数据大小 " & obj.TotalBytes & " Bytes<br>共花费了时间 " & (obj.SpendTime/1000) & " 秒<br>"

response.write obj.version %>

<HR>

<table width="75%" border="1">

<tr>

<td width="20%">标题:</td>

<td width="80%"><%=obj.form("title1")%></td>

</tr>

<tr>

<td width="20%">属于:</td>

<td width="80%"><%=obj.form("sel1")%></td>

</tr>

<tr>

<td width="20%">性别:</td>

<td width="80%"><%=obj.form("sex1")%></td>

</tr>

<tr>

<td width="20%">分类:</td>

<td width="80%"><%=obj.form("list1")%></td>

</tr>

<tr>

<td width="20%">内容: </td>

<td width="80%"><%=obj.form("Content1")%></td>

</tr>

<tr>

<td width="20%">是否选定:</td>

<td width="80%"><%=obj.form("select1")%></td>

</tr>

<tr>

<td width="20%">提交按钮:</td>

<td width="80%"><%=obj.form("save")%></td>

</tr>

</table>

<p>&nbsp;</p>

<p>上传文件如下:<br>

</p>

<table border="1">

<tr>

<td nowrap>名称</td>

<td nowrap>文件名(包括扩展名)</td>

<td nowrap>文件名(不含扩展名)</td>

<td nowrap>文件大小(B)</td>

<td nowrap>原文件路径</td>

<td nowrap>文件扩展名</td>

<td nowrap>原文件名(含路径)</td>

</tr>

<%for i=0 to Obj.Count-1 %>

<% userFile = Obj.userFile(i) %>

<tr>

<td>

<% =userFile %>

</td>

<td>

<% =Obj.FileName(userFile) %>

</td>

<td>

<% =Obj.FileNameX(userFile) %>

</td>

<td>

<% =Obj.FileSize(userFile) %>

</td>

<td>

<% =Obj.FilePath(userFile) %>

</td>

<td>

<% =Obj.FileExt(userFile) %>

</td>

<td>

<% =Obj.OldFileName(userFile)%>

</td>

</tr>

<% ' Obj.SaveToFTP "192.168.7.168",21,5000,"xu","xu",0,"",0,"",userFile,Obj.FileName(userFile) %>

<% 'Obj.SaveFile userFile, "c:\" & Obj.FileName(userFile) %>

<%' Obj.SaveFileAS userFile, "c:\" & Obj.FileName(userFile) %>

<% 'Obj.SaveFileAS "file6", "c:\a.txt" %>

<%' =Obj.GetFileData (userFile,"txt") %>

<% next

set Obj=nothing %>

</table>

<HR>

</BODY>

</HTML>

上传结果:

总共上传 5 个文件

总数据大小 4317 Bytes

共花费了时间 .321 秒

YouUpload 1.0版 版权所有(C)徐长友

标题:

ASP中多文件同时上传解决方案

属于:

体育艺术

性别:

分类:

分类3

内容:

在大多数J2EE系统中,我们希望由无状态会话Bean形式的工厂或管理器触发适当的事件。但EJB容器创建每一个Bean实例的时候都会带有一组重复的监听器。本文告诉你如何在EJB环境中正确实现“观察者”模式。

是否选定:

提交按钮:

确认上传

上传文件如下:

名称

文件名(包括扩展名)

文件名(不含扩展名)

文件大小(B)

原文件路径

文件扩展名

原文件名(含路径)

file1

AUTOEXEC.BAT

AUTOEXEC

2

C:\

.BAT

C:\AUTOEXEC.BAT

file2

boot.ini

boot

199

C:\

.ini

C:\boot.ini

file3

CONFIG.SYS

CONFIG

2

C:\

.SYS

C:\CONFIG.SYS

file4

skin.txt

skin

2236

C:\

.txt

C:\skin.txt

file5

WINNTnwstatus.txt

WINNTnwstatus

59

C:\

.txt

C:\WINNTnwstatus.txt

以上使用了YouUpload上传组件,下面是YouUpload的介绍:

YouUpload -- 文件上传组件

欢迎使用YouUpload !

许可协议

请参阅license.txt

功能简介

支持上传多个文件

支持所有格式的文件上传,zip,jpg,gif等格式全部支持

支持将上传的文件改名保存

支持同时使用其它的form input,携带附加的信息,例如,文件说明

支持判断上传文件的大小、文件类型

支持将文件内容保存进数据库

支持上传到FTP目录中

无需IIS将目录设置为Write(如果是NTFS文件系统,其安全性需要设置,可以简单的设置为everyone full control,或者设置为IUSR_SERVER full control)

YouUpload目前无任何功能限制,完全免费使用

适用系统

适用于 Windows 98 + pws4 ,NT4.0 server + IIS 4 ,Win2K+IIS 5

下载地址

http://www.csdn.net

安装指南

要求: Windows NT Server 4 Edition + SP3 + IE4.01 + Option Pack / win98 + IE4.01

1. 如果下载的是安装程序,运行Setup即可

2. 测试,你安装目录下的Examples复制到Web服务器的发布目录即可测试默认文档Default.asp

3. 在浏览器地址栏输入如 'http://yourhost/uploadtest/'

4. 如果上方出现版权所有,基本上没多大问题了

5. 你再上传一些文件试一下[/url]

组件属性

object.Form(FieldName)

返回表单数据

object.Form("title") 'title是表单名称

object.SaveFile(FieldName, FileName)

FieldName:表单名

FileName:新的文件名(注:要包括路径)

Dim upl, FileName

Set upl = Server.CreateObject("yousoft.YouUpload")

FileName = upl.FileName("File1")

upl.SaveFile "File1", "c:temp" & FileName

object.SaveFileAs(FieldName, FName)

FieldName:表单名

FileName:新的文件名(注:要包括路径)

Dim upl, FileName

Set upl = Server.CreateObject("yousoft.YouUpload")

FileName = upl.FileName("File1")

upl.SaveFileAs "File1", "c:temp" & FileName

object.SaveToFtp(ftp_Host,ftp_Port,timeout,ftp_user,ftp_password,

Use_Proxy,Proxy_Host,Proxy_port,User_dir,FieldName,FileName)

ftp_Host :Ftp主机(最好用IP地址)

ftp_Port :ftp服务器端口(一般为21)

timeout :连接ftp超时时间

ftp_user :ftp登录名

ftp_password :ftp登录密码

Use_Proxy :是否使用代理服务器连接ftp,如果 =1 则使用代理 =0 不使用代理

Proxy_Host :代理服务器主机(最好用IP),结合Use_proxy使用

Proxy_Port :代理服务器端口,结合Use_proxy使用

User_dir :当前ftp路径,为空则表示不指定路径,即登录后默认路径

FieldName :表单名称,从这决定保存的文件

FileName :指定新的文件名

Obj.SaveToFtp "192.168.7.168",21,5000,"xu","xu",0,"",0,"","file1","new.exe"

object.FileName(FieldName)

得到文件名(包括扩展名)

object.FilePath((FieldName)

取得上传文件路径

object.FileSize((FieldName)

取得上传文件大小

object.FileExt(FieldName)

取得上传文件扩展名

object.OldFileName(FieldName)

取得上传文件完整名(包括路径在内)

object.FileNameX(FieldName)

得到文件名(不包括扩展名)

object.Count

上传文件数目

object.TotalBytes

上传数据总字节数

object.SpendTime

上传所花时间(单位:毫秒)

object.userFile(N)

取得上传文件第N个的名称(表单名)

object.GetFileData(FieldName,DataType)

取得上传文件数据

DataType :

"bin" 取得二进制数据

"txt" 取得文本数据

你可以取得数据存放到数据库中,以文本或二进制方式存放

<%=Obj.GetFileData ("File1","txt") %>

object.Version

取得当前YouUpload版本

使用说明

请参考Examples目录下的示例

上传form的写法

<form enctype="multipart/form-data" method="post" action="Upload.asp" name="Upload">

enctype="multipart/form-data" 是必须的,并且method必须是post

如果获得上传文件的文件个数

set obj=server.createobject("Yousoft.UploadFile")

response.write "文件个数:"&obj.count

如果上传多个文件,如果确定对应file input上传的文件

obj.userFile(N)

取得上传文件第N个的名称(表单名)

如何获得文件的后缀名

ext=FileExt(FieldName) 'FieldName为表单名,如'file1'

如何将文件内容保存进数据库

如果你使用sql server,需要定义一个image类型的字段

dim conn,rs

set conn=server.CreateObject("adodb.connection")

conn.open "testfile","sa","xxx"

set rs=server.CreateObject("adodb.recordset")

rs.Open "SELECT * FROM [file] where filename is null",conn,1,3

rs.AddNew

rs("filename")=obj.FileName('file1')

rs("filesize")=obj.FileSize('file1')

rs("filecontent").AppendChunk Obj.GetFileData (userFile,"bin") 'BLOB数据不能直接赋值 如果不是二进制保存 "bin" 改为 "txt"

rs.Update

rs.Close

conn.Close

set rs=nothing

set conn=nothing

相反的要将数据从数据库里面取出来,请参考下面的程序

dim conn,rs

dim content

set conn=server.CreateObject("adodb.connection")

conn.open "testfile","sa","xxx"

set rs=server.CreateObject("adodb.recordset")

rs.Open "SELECT * FROM [file] where id =" & id,conn,1,1

content=rs("filecontent").getChunk(clng(rs("filesize")))))

conn.Close

set rs=nothing

set conn=nothing

安装可能出现的问题

如果你发现,请与我联系!

程序使用可能存在的问题

如果你发现,请与我联系!

测试反馈

如果你在测试中发现任何问题,请mailto: [url=mailto:yousoft@chinaren.com?subject=%B9%D8%D3%DAYouUpload]mailto:yousoft@chinaren.com?subject=关于YouUpload,或者请在我主页的bbs进行讨论或留言。

希望大家能对这个组件多提意见。

在我们讨论asp问题的时候,常常会遇到许多问题只有利用asp components来解决,而这些com通常只有在国外的站点才可能找到,可见国内的这方面的东东还少。所以我希望得到各位的支持。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有