imhades 发表于 2013-2-7 17:02:18

Dojo Toolkit 新增多文件上传类dojox.form.FileUploader

 
转载时请保留来源:OurJS.cn 原文: http://www.ourjs.cn/show.php?id=464
 
  Deft 是Dojo Toolkit的一个项目,本文介绍的多文件上传功能就是得益于它。
  dojox.form.FileUploader类在页面内嵌入了一个隐藏的SWF文件,当你触发它时,会打开一个对话框,这个对话框支持多文件选择和文件类型过滤。
  如果用户没有安装flash 9,则会显示一个标准的HTML file input 标签来代替它的flash界面。这个HTML表单同样支持多文件上传,不过是跟通常的多文件上传一样,多个input标签,每个标签只能选择一个文件。
  这个工具的另一个优点是,允许用户自定义上传按钮的样式。
  dojox.form.FileUploader将会包含在计划在9月份发布的Dojo Toolkit v1.2中。
 

dojox.form.FileUploader

  dojox.form.FileUploader是一个简单的包装器类。它接受参数,并做一些侦测,决定是使用dojox.form.FileInputFlash类 还是 dojox.form.FileInputOverlay类。
以下是使用FileUploader的例子:
<span style="font-size: small;">var uploader = new dojox.form.FileInputFlash({        uploadUrl:"http.localHost/FileUpload.php",        button:myButton,        uploadOnChange: false,        selectMultipleFiles: true,        fileMask: ["All Images", "*.jpg;*.jpeg;*.gif;*.png"],<span style="font-size: small;">        degradable: true});
这个类只有一个方法: upload()
有几个方法:
onChange  - 当文件被选中时触发
onProgress  -  提供当前的上传进度相关信息(只支持flash)
onComplete  -  当文件上传完毕时触发
onError  - 发生错误时触发,比如:找不文件
 

dojox.form.FileInputFlash(Flash模式)

  FileInputFlash组件与dojox.embed.Flash一起加载。它显示时大小1px*1px,定位在左上角,是不可见的,当浏览器需要显示SWF时才会激活它。在初始化时,FileInputFlash使你的按钮与SWF内的浏览器方法连接起来,使得点击按钮就会打开对话框架。
 
 
dojox.form.FileInputOverlay(HTML模式)
  dojox.form.FileInputOverlay API跟FileInputFlash 不同。主要有两点:
 
  1.  它不会触发onProgree事件
 
  2.  当 selectMultipleFiles = true时,用户不能选择多个文件,但是可以通过点击上传按钮添加文件上传列表。
 
 
要了解更多dojox.form.FileUploader,可访问:
http://www.sitepen.com/blog/2008/09/02/the-dojo-toolkit-multi-file-uploader/
<span style="color: #0000ff;" /> 
http://trac.dojotoolkit.org/browser/deft/trunk/deft
<span style="color: #0000ff;" /> 
http://archive.dojotoolkit.org/nightly/
<span style="text-decoration: underline;" /> 
<span style="text-decoration: underline;" /> 
转载时请保留来源:OurJS.cn 原文: http://www.ourjs.cn/show.php?id=464
 
 
 
 
 
页: [1]
查看完整版本: Dojo Toolkit 新增多文件上传类dojox.form.FileUploader