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

ASP中多文件同时上传解决方案 (转)[@more@]

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

上传表单如下:

标题:    性别: 男 女 属于: <select multiple size=6 name=sel1> 文学体育艺术其它 是否选定: 内容: 分类:  分类1分类2分类3分类4分类5     选取文件一:    选取文件二:    选取文件三:    选取文件四:    选取文件五: 

 

ASP源代码



文件上传


  object("Yousoft. UPLOADFile")
  Response.Write "总共上传 " & obj.Count & " 个文件
总数据大小 " & obj.TotalBytes & " Bytes
共花费了时间 " & (obj.SpendTime/1000) & " 秒
"
  response.write obj.version %>


标题:
属于:
性别:
分类:
内容:
是否选定:
提交按钮:

 


上传文件如下:


名称文件名(包括扩展名)文件名(不含扩展名)文件大小(B)原文件路径文件扩展名原文件名(含路径)

 
 

 
 

 
 

 
 

 
 

 
 

 
 




上传结果:

总共上传 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等格式全部支持 支持将上传的文件改名保存 支持同时使用其它的fo RM input,携带附加的信息,例如,文件说明 支持判断上传文件的大小、文件类型 支持将文件内容保存进 数据库 支持上传到FTP目录中 无需IIS将目录设置为Write(如果是NTFS文件系统,其 安全性需要设置,可以简单的设置为everyone full control,或者设置为IUSR_SERVER full control) YouUpload目前无任何功能限制,完全免费使用

适用系统

适用于 windows 98 + pws4 ,NT4.0 server + iis 4 ,Win2k+IIS 5

下载地址

 .NET/FileBBS/files/2001_9/T_567_1.zip" target=_blank>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" & 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" 取得文本数据

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

  • object.Version
    取得当前YouUpload版本

 

使用说明

请参考Examples目录下的示例

上传form的写法


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通常只有在国外的站点才可能找到,可见国内的这方面的东东还少。所以我希望得到各位的支持。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-990843/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-990843/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值