上传表单如下:
标题: 性别: 男 女 属于: 是否选定: 内容: 分类: 选取文件一: 选取文件二: 选取文件三: 选取文件四: 选取文件五:
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; ;/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)徐长友
上传文件如下:
以上使用了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. 你再上传一些文件试一下
组件属性
- 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\" & FileNameobject.SaveFileAs(FieldName, FName)
FieldName:表单名
FileName:新的文件名(注:要包括路径)Dim upl, FileName
Set upl = Server.CreateObject("yousoft.YouUpload")
FileName = upl.FileName("File1")
upl.SaveFileAs "File1", "c:\temp\" & FileNameobject.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: mailto:yousoft@chinaren.com?subject=关于YouUpload,或者请在我主页的bbs进行讨论或留言。
希望大家能对这个组件多提意见。
在我们讨论asp问题的时候,常常会遇到许多问题只有利用asp components来解决,而这些com通常只有在国外的站点才可能找到,可见国内的这方面的东东还少。所以我希望得到各位的支持。