好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

上传相关组件.doc

13页
  • 卖家[上传人]:
  • 文档编号:43839880
  • 上传时间:2018-06-07
  • 文档格式:DOC
  • 文档大小:79KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 9.3.3文件上传组件9.3.3.1ChinaASP File Upload 组件 ChinaASP File Upload 是一个 ChinaASP 自己开发的组件目前的版本是 beta3功能特点: 1.支持上传多个文件 2.可以将上传的文件改名保存 3.可以同时使用其它的 form input,携带附加的信息,例如,文件说明 4.可以判断上传文件的大小、文件类型 5.支持将文件内容保存进数据库 6.无需 IIS 将目录设置为 Write(如果是 NTFS 文件系统,其安全性需要设置,可以简单的 设置为 everyone full control,或者设置为 IUSR_SERVER full control) 7.测试版本没有日期限制下载: NT4.0 server 中文版 + IIS 4 或者 Windows 98/95 中文版 + Personal Web Server安装 下载的 zip 包里面有安装程序,直接运行 setup.exe安装程序将提示你安装到的目录,然 后会自动完成注册等工作注意:可能需要你重新启动系统组件的使用 set FileUp=server.createobject(“ChinaASP.UpLoad“)组件的属性 编号属性读/写描述 1Files只读返回一个 Collection 对象,包含上传文件的信息(ContentType、文件名、 上传 Form 内的 Input 名称、文件大小、及文件的两进制内容) 2Form只读返回一个 Collection 对象,包含上传 form 内其他类型 input(text/button 等)的内容(form 内 input 名称、该 input 的 value) 3UsedTime只读Com 处理上传信息所使用的时间 4CopyrightInfo 只读版权信息 表9.3.3.1-1 FileUp 组件属性列表Files 元素的属性 编号属性读/写描述 1ControlName 只读上传 Form 内对应的 file 类型 input 的名称 2IsEmpty 只读是否是 Empty,如果上传 Form 的 file 类型的 input 没有输入任何路径,则上传 后其对应的 files 元素的 IsEmpty 值就为 true,反之为 false3FileName 只读上传的原文件名 4FileSize 只读文件大小,如果上传的原文件不存在,则 FileSize 为 0 5ContentType 只读上传文件内容的 Mime 类型,如 text/plain 6FileContent 只读文件的两进制内容表9.3.3.1-2 FileUp 组件 Files 元素属性列表Files 元素的方法 SaveAs filename filename 是是文件路径,如果是 url,需要用 server.mappath()进行转化Form 元素的属性 编号属性读/写描述 1ControlName 只读上传 Form 内对应的 file 类型 input 的名称 2Value只读Value 表9.3.3.1-3 FileUp 组件 Form 元素属性列表程序范例 上传 Form 的写法:上载测试,请选择文件上传文件:上传文件:写两句:说明: 1.form 必须加上 enctype=”multipart/form-data” 并且 method 必须是 post 2.如果要上传多个文件,只需放入类型为 file 的 input, 请为它们起不同的名字(name) 3.在上传 Form 内必须加上,否则上传组件将不能正常使用Upload.asp 程序(处理上传的文件内容)0 thenwriteln “SaveAs=“UID=sa;PWD=xxx;“, “insert into Blobs(id, Path, BigBlob) values(12, '“ UID=userid;PWD=password;“ 第二个参数是一个含有问号的 sql Insert 或 Update 语句,问号作为文件保存的占位符号。

      在这个例子里面,我们假设数据库的表 Blobs 有3个列:int ID ,varchar PATH,image BigBlob.这个 sql Insert 语句把 12 存入字段 ID,文件路径存入 Path 字段,实际的文件存入 BigBlob 列中 然后一行在成功执行之前检查是否语句正确如果成功了,err 对象是0,因为文件存入了 数据库,不用再保存在上传目录了,文件会被删除(行:file.delete) 否则 err 包含一个数 字的错误代码,并且 err.description 包含错误的信息 为了保存你硬盘上的任意文件到数据库,使用 uploadManager.ToDatabaseEx 方法(1.4版 本的新功能),它将一个文件路径作为第一个参数其他两个参数和 FielToDatabase 一样 Upload.ToDatabaseEx “c:\myfile.txt“, “DSN=data;UID=sa;PWD=;“, “insert into...“ Exporting Files from the Database 从数据库中导出文件 在数据库的表内保存 GIF,JPEG 图片是常见的事情。

      为了从数据库表中获得一个图片,并 在一个 html page 上显示你不需要使用任何第三方的组件ADO 就可以帮你做到GetImage.asp 脚本可以是这么写的: 要从数据库把 BLOB 导出到你的硬盘上,你可以使用方法 Upload.FromDatabase,这个方法, 只需以行代码就可以导出 Preserving “Last Modified“ Date/Time Information of Uploaded Files 保留“最后修改“日期/上传文件的信息 浏览器不会在上传文件的时候发送最后修改时间,因为不是 RFC-1867 所制定内容的部分 所以如果你使用基于表单的文件上传,这文件日期不能保留但是如果你使用 Persits Software 客户端上传工具 XUopload ActiveX 控件,则可以实现这项功能详细请参考下载 包里面的文档加密支持 和另外一个组件 AspEncrypt 结合在一起就可以对文件上传进行加密详细请参考下载包里 面的文档这里就不多废话了附加特性:目录清单列表,下载,ActiveX 注册 ASPUpload 还提供了 3 个额外的特性,虽然和文件上传关系不是很大,但是十分实用:目 录列表,文件下载和 ActiveX 注册。

      目录清单列表 除了 Form 和 Files 集合,UploadManager 还提供了一个集合,Directory,它代表你硬盘上的一 个文件目录与 Form 和 Files 不同的是,Directory 不需要调用 Save 方法来计算大小 Directory 集合包含 DirectoryItem 对象每一个 DirectoryItem 对象代表一个这个目录下的文 件或子目录所有文件和子目录总是组合在一起的子目录可以在集合里面继续处理文件 (with subdirectories preceding files in the collection.) 在子目录和文件组内,各个元素可以 按照名字,类型,大小,创建时间,最后修改时间和最后访问时间排序元素总是按照升 序排序 下面的代码创建并浏览一个目录集合(C:\mydir) ,以文件类型进行排序 “ Next %> Directory 属性第一个参数是一个目录名字和一个带统配符号的文件名第二个参数是可选的,如果使用了,必须被设置为在 aspUpload.inc 重定义的 Sort-by 值缺省的值是 SORTBY_NAME(数字 1) 正如我们刚才提到的那样,集合的元素总是被按照升序排序的。

      如果你需要对文件列表按 照倒序列出来,你不得不使用数字索引向后遍历,而不是使用 For-each 语句例如: “ Next %> 这段代码会显示所有文件(跟着目录) ,并且文件和目录按照降序排列文件下载 有时候让用户下载没有放在 IIS 虚拟目录下的文件可能十分必要你可以使用 AspUpload 组件从硬盘上读任意两进制文件,并通过调用 UploadManager 的 SendBinary 方法,送往客 户端:SendBinary 方法内部使用 Response.BinaryWrite. 如果第二个参数别设置为 True 或者忽略, 这个方法将设置 response.ContentType 为一个合适的值(这个值来源于文件的后缀和注册表 的设置) 如果文件后缀是未知的或者没有后缀,response.ContentType 会被设置为 “application/octet-stream“如果第二个参数被设置为 False,Response.ContentType 会被设置 为“application/octet-stream“如果第二个参数被设置为 false,Response.ContentType 就需要你 手工设置,SendBinary 不会帮你设置。

      ActiveX 注册 UploadManager 提供了一个方法 RegisterServer,功能模仿 Regsvr32 那个程序你可以使用它 实现 activex Dll 上传自动注册 如果可选的第二个参数被设置为 False,方法就不会注册这个库 Upload.RegisterServer File.Path, False 在虚拟主机环境内禁止高级特性 当 AspUpload 在虚拟主机环境使用的时候,系统管理员可以选择禁止组件的一些特性(这 些特性可能存在潜在的危险性,例如在任意目录保存文件,或者修改 ACLs) 这些特性可以禁止,修改系统注册表内的对应值在 Start/Run 键入 regedit,运行 Registery Editor. HKEY_LOCAL_MACHINE\SOFTWARE\Persits Software\AspUpload 缺省情况下所有注册表的值都被设置为 0(有效) ,将他们设置为 1(或任意非 0 值)就把 相应的特性禁止掉了。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.