java uploadify 中文教程

简介:

前段时间需要用上传插件,发现uploadify挺好用的,不管是上传图片还是文件,下面是一些属性的配置,因为官方的demo是php实现的,而我需要的java,所以在下一篇文章中将给出具体的代码实现,需要的可以自己去看。


使用uploadify需要下载相应的jar包,

jar网盘下载地址为:http://yun.baidu.com/share/link?shareid=707808310&uk=2836507213

项目网盘地址为:http://yun.baidu.com/share/link?shareid=702477080&uk=2836507213

官网下载地址为:http://www.uploadify.com/

属性介绍地址为:http://www.uploadify.com/documentation/

一、属性

属性名称 默认值 说明
auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 。
buttonClass 默认无样式 自己编写button的样式
buttonCursor ‘hand’ 鼠标指针悬停在按钮上的样子,默认是为手指,可选为 ‘hand’,‘arrow
buttonImage null 按钮的背景图片路径,虽然方便,但是最好是在css中指定
buttonText ‘SELECT FILES’ 浏览按钮的文本。
checkExisting false 文件上传重复性检查程序,检查即将上传的文件在服务器端是否已存在,存在返回1,不存在返回0
debug false 如果设置为true则表示启用SWFUpload的调试模式
fileObjName ‘Filedata’ 文件上传对象的名称,可以传到后台,但没掌握怎么用
fileSizeLimit 0

上传文件的大小限制 ,如果为整数型则表示以KB为单位的大小,如果是字符串,则可以使用(B, KB, MB, or GB)为单位,比如’2MB’;

如果设置为0则表示无限制

fileTypeExts ‘*.*’ 设置可以选择的文件的类型,格式如:’*.doc;*.pdf;*.rar’ 
fileTypeDesc All Files’

这个属性值必须设置fileTypeExts属性后才有效,用来设置选择文件对话框中的提示文本,如设置fileTypeDesc为“请选择rar doc pdf文件

设置了,好像不起作用,知道的请 

height 30 设置浏览按钮的高度 ,默认值
itemTemplate false 用于设置上传队列的HTML模版,可以使用以下标签:
instanceID – Uploadify实例的ID
fileID – 列队中此文件的ID,或者理解为此任务的ID
fileName – 文件的名称
fileSize – 当前上传文件的大小
插入模版标签时使用格式如:${fileName}
method Post 提交方式Post或Get
multi true 设置为true时可以上传多个文件。
overrideEvents
设置哪些事件可以被重写,JSON格式,如:’overrideEvents’ : ['onUploadProgress']
preventCaching true 如果为true,则每次上传文件时自动加上一串随机字符串参数,防止URL缓存影响上传结果
progressData percentage 设置上传进度显示方式,percentage显示上传百分比,speed显示上传速度,可选择percentage或者speed
formData
JSON格式上传每个文件的同时提交到服务器的额外数据,可在’onUploadStart’事件中使用’settings’方法动态设置。
queueID false

设置上传队列容器DOM元素的ID,如果为false则自动生成一个队列容器

这个id,需要自己在html中指明,否则是无效的

queueSizeLimit 999 队列最多显示的任务数量,如果选择的文件数量超出此限制,将会出发onSelectError事件。
注意此项并非最大文件上传数量,如果要限制最大上传文件数量,应设置uploadLimit。queue里面最多能放得文件数
removeCompleted true 是否自动将已完成任务从队列中删除,如果设置为false则会一直保留此任务显示。
swf ‘uploadify.swf’ uploadify.swf 文件的相对路径
uploader uploadify.php 后台处理程序的相对路径。这里写自己后台的servlet
uploadLimit 999 最大上传文件数量,如果达到或超出此限制将会触发onUploadError事件。
width 120 设置文件浏览按钮的宽度


二、事件

事件名称 说明
onCancel(file) 当点击文件队列中文件的关闭按钮或点击取消上传时触发,file参数为被取消上传的文件对象
onClearQueue(queueItemCount) 当调用函数cancel方法时触发,queueItemCount参数为被取消上传的文件数量
onDestroy() 当destory方法被调用时触发
onDialogClose(queueData)

当文件浏览框关闭时触发,如果将此事件被重写,则当向队列添加文件上传出错时不会弹出错误消息提示。

queueData对象包含如下属性:

  • filesSelected 文件选择对话框中共选择了多少个文件

  • filesQueued 已经向队列中添加了多少个文件

  • filesReplaced 已经向队列中替换了多少个文件

  • filesCancelled 取消了多少个文件 filesErrored 出错了多少个文件

onDialogOpen() 当文件选择对话框弹出时立即出发,但可能在文件选择对话框被关闭之前并不能全部执行。
onDisable() 当disable方法禁用Uploadify上传按钮时被调用时触发。
onEnable() 当disable方法启用Uploadify上传按钮时被调用时触发。
onFallback() 当Uploadify初始化过程中检测到当前浏览器不支持flash时触发。
onInit() 首次初始化Uploadify结束时触发。
onQueueComplete(queueData)

文件上传队列处理完毕后触发。

queueData对象包含如下属性:

  • uploadsSuccessful – 上传成功的文件数量

  • uploadsErrored – 上传失败的文件数量

onSelect(file) 选择文件后向队列中添加每个上传任务时都会触发。
onSelectError(file, errorCode, errorMsg)

选择文件后向队列中添加每个上传任务时如果失败都会触发。

file – 文件对象

errorCode – 错误代码如下:

  • QUEUE_LIMIT_EXCEEDED – 任务数量超出队列限制;

  • FILE_EXCEEDS_SIZE_LIMIT – 文件大小超出限制;

  • ZERO_BYTE_FILE – 文件大小为0

  • INVALID_FILETYPE – 文件类型不符合要求

errorMsg – 错误提示,可通过’this.queueData.errorMsg’定制

onSWFReady() Flash文件载入成功后触发。
onUploadComplete(file) 每个文件上传完毕后无论成功与否都会触发。
onUploadError(file, errorCode, errorMsg, errorString) 文件上传出错时触发,参数由服务端程序返回。
onUploadProgress(file, bytesUploaded, bytesTotal, totalBytesUploaded, totalBytesTotal)

处理上传队列的过程中会多次触发此事件,每当任务状态有更新时都会触发。

  • file – 文件对象

  • bytesUploaded – 已上传的字节数

  • bytesTotal – 文件总字节数

  • totalBytesUploaded – 当前任务队列中全部文件已上传的总字节数

  • totalBytesTotal – 当前任务队列中全部文件的总字节数

onUploadStart(file) 当文件即将开始上传时立即触发
onUploadSuccess(file, data, response)

当文件上传成功时触发

  • file – 文件对象

  • data – 服务端输出返回的信息

  • response – 有输出时为true,如果无响应为false,如果返回的是false,当超过successTimeout设置的时间后假定为true


三、方法

方法名称 说明 应用举例
cancel(fileID, suppressEvent)

取消队列中的任务,不管此任务是否已经开始上传

  • fileID – 要取消的文件ID,如果为空则取消队列中第一个任务,如果为’*'则取消所有任务

  • suppressEvent – 是否阻止触发onUploadCancel事件,当清空队列时非常实用。

<a href="javascript:$(‘#file_upload’)

.uploadify(‘cancel’)">取消第一个</a>

<a href="javascript:$(‘#file_upload’)

.uploadify(‘cancel’, ‘*’)">清空队列</a>

<a href="javascript:$(‘#file_upload’)

.uploadify(‘upload’, ‘*’)">开始上传所有任务</a>

destroy() 销毁Uploadify实例并将文件上传按钮恢复到原始状态

<a href="javascript:$(‘#file_upload’).

uploadify(‘destroy’)">销毁Uploadify实例</a>

disable(setDisabled)

禁用或启用文件浏览按钮

setDisabled – 设置为true表示禁用,false为启用

<a href="javascript:$(‘#file_upload’)

.uploadify(‘disable’, true)">禁用按钮</a>

<a href="javascript:$(‘#file_upload’)

.uploadify(‘disable’, false)">启用按钮</a>

settings(name, value, resetObjects)

获取或设置Uploadify实例参数

  • name – 属性名称,如果只提供属性名称则表示获取其值

  • value – 属性值

  • resetObjects – 设置为true时,更新postData对象将清空现有的值。否则,新的值将被添加到其末尾。

$(‘#file_upload’).uploadify

(‘settings’,'buttonText’,'BROWSE’);

$(‘#file_upload’).uploadify(‘settings’,'buttonText’));

stop() 停止当前正在上传的任务

<a href="javascript:$(‘#file_upload’).uploadify(‘upload’, ‘*’)">开始上传</a>

<a href="javascript:$(‘#file_upload’).uploadify(‘stop’)">停止上传</a>

upload(fileID) 立即上传指定的文件,如果fileID为’*'表示上传所有文件,要指定上传多个文件,则将每个文件的fileID作为一个参数

<a href="javascript:$(‘#file_upload’)

.uploadify(‘upload’,'*’)">开始上传所有文



本文主要借鉴地址:http://blog.sina.com.cn/s/blog_5079086b0101fkmh.html ,好文章值得分享的。







     本文转自布拉君君 51CTO博客,原文链接:http://blog.51cto.com/5148737/1588017,如需转载请自行联系原作者



相关文章
|
2天前
|
Java 开发者 UED
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
【6月更文挑战第19天】在Java中,`throws`关键字是异常处理的关键,它提升了方法签名的透明度和代码质量。不使用`throws`时,未捕获的异常可能导致程序崩溃。例如,`readFileContent`方法若不声明`throws IOException`,则隐藏了可能的风险。而明确声明如`throws IOException`,提醒调用者需处理异常,增强代码稳定性。
|
1天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(七十九)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试-下篇(详解教程)
【6月更文挑战第20天】TestNG是一个Java测试框架,提供两种测试方法依赖机制:强依赖(所有前置方法成功后才运行)和弱依赖(即使前置方法失败,后置方法仍运行)。文中通过代码示例展示了这两种依赖如何实现,并解释了当依赖方法失败时,如何影响后续方法的执行。文章还包含了TestNG Suite的运行结果截图来辅助说明。
22 8
|
3天前
|
Java 测试技术 Python
《手把手教你》系列基础篇(七十七)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 上篇(详解教程)
【6月更文挑战第18天】TestNG是一个Java测试框架,它允许在测试方法间定义执行顺序和依赖关系。当不指定依赖时,TestNG默认按方法名首字母排序执行。`@Test`注解的`dependsOnMethods`属性用于指定方法依赖,如`test1`依赖`test4`,则实际执行顺序为`test4`、`test2`、`test3`、`test1`。如果依赖的方法失败,后续依赖的方法将被跳过。此外,`dependsOnGroups`属性通过组名指定依赖,方便管理多个相关测试方法。通过`groups`定义方法所属组,然后在其他方法中用`dependsOnGroups`引用这些组。
21 5
|
1天前
|
Java
杨老师课堂_Java教程第六篇之引用数据类型_类的运用
杨老师课堂_Java教程第六篇之引用数据类型_类的运用
5 1
|
1天前
|
Java
杨老师课堂_Java教程第五篇之函数运用
杨老师课堂_Java教程第五篇之函数运用
9 1
|
1天前
|
Java
杨老师课堂_Java教程第三篇之控制语句
杨老师课堂_Java教程第三篇之控制语句
8 1
|
2天前
|
XML Web App开发 测试技术
《手把手教你》系列基础篇(七十八)-java+ selenium自动化测试-框架设计基础-TestNG依赖测试- 中篇(详解教程)
【6月更文挑战第19天】本文介绍了使用TestNG框架配置XML文件来管理测试用例的分组和依赖关系。
14 2
|
7天前
|
Web App开发 XML 安全
《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)
【6月更文挑战第14天】本文介绍了如何使用TestNg进行自动化测试,特别是通过变量参数启动不同浏览器的步骤。
20 5
|
5天前
|
XML 测试技术 数据格式
《手把手教你》系列基础篇(七十五)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 中篇(详解教程)
【6月更文挑战第16天】本文介绍了TestNG中`@DataProvider`的两种使用方法。本文通过实例展示了TestNG如何利用`@DataProvider`结合方法名和`ITestContext`来灵活地为测试方法传递参数。
12 1
|
8天前
|
监控 Java 测试技术
《手把手教你》系列基础篇(七十二)-java+ selenium自动化测试-框架设计基础-TestNG简单介绍(详解教程)
【6月更文挑战第13天】本文介绍了TestNG单元测试框架,它是一个灵感来源于JUnit和NUnit的测试框架,支持多种级别的测试,如单元测试、集成测试等。TestNG的特点包括丰富的注解、数据驱动测试、变量支持、自动生成HTML测试报告等。与JUnit和NUnit相比,TestNG在某些功能上更为强大。文章还详细讲解了如何在Eclipse中安装TestNG插件,提供了在线安装、更新站点安装和离线安装三种方法,并展示了安装成功的验证步骤。最后,通过一个项目实战案例展示了如何使用TestNG编写和运行测试代码。
14 2