JQuery批量上传插件Uploadify使用详解及参数说明

Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示。官方提供的实例是php版本的,您可以点击下面的链接进行浏览或下载。

效果图:

  效果图

 

部署和代码介绍:  

JSP前台页面:

<script type="text/javascript">
$(document).ready(
function() {
$(
"#uploadify").uploadify( {//初始化函数

'uploader' :'uploadify.swf',//flash文件位置,注意路径
'script' :'servlet/Upload',//后台处理的请求
'cancelImg' :'images/cancel.png',//取消按钮图片
'folder' :'uploads',//您想将文件保存到的路径
'queueID' :'fileQueue',//与下面的上传文件列表id对应
'queueSizeLimit' :8,//上传文件的数量
'scriptData':{'a':'value1','b':'value2'},//向后台传的数据
'fileDesc' :'rar文件或zip文件',//上传文件类型说明
'fileExt' :'*.rar;*.zip', //控制可上传文件的扩展名,启用本项时需同时声明fileDesc
'method':'get',//如果向后台传输数据,必须是get
'sizeLimit':1000,//文件上传的大小限制,单位是字节
'auto' :false,//是否自动上传
'multi' :true,
'simUploadLimit' :2,//同时上传文件的数量
'buttonText' :'BROWSE',//浏览按钮图片
'onComplete': function(event, queueID, fileObj,serverData,data) {//当上传完成后的回调函数,ajax方式哦~~
alert(data.speed);
}
});
});

</script>



<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/swfobject.js"></script>
<script type="text/javascript" src="js/jquery.uploadify.v2.1.0.min.js"></script>

<div id="fileQueue"></div>
<input type="file" name="uploadify" id="uploadify" />
<p>
<a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;
<a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>
</p>

java后台:

String savePath = this.getServletConfig().getServletContext().getRealPath("");

savePath = savePath + "/uploads/";

File f1 = new File(savePath);

System.out.println(savePath);

if (!f1.exists()) {

f1.mkdirs();

}

DiskFileItemFactory fac = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(fac);

upload.setHeaderEncoding("utf-8");

List fileList = null;

try {

fileList = upload.parseRequest(request);

} catch (FileUploadException ex) {

ex.printStackTrace();
return;

}

Iterator it = fileList.iterator();

while (it.hasNext()) {

FileItem item = (FileItem) it.next();

if (!item.isFormField()) {

name = item.getName();

long size = item.getSize();

String type = item.getContentType();

if (name == null || name.trim().equals("")) {

continue;

}

// 扩展名格式:

if (name.lastIndexOf(".") >= 0) {

extName = name.substring(name.lastIndexOf("."));

}

File file = null;

do {

// 生成文件名:

name = UUID.randomUUID().toString();

file = new File(savePath + name + extName);

} while (file.exists());

File saveFile = new File(savePath + name + extName);

try {

item.write(saveFile);

} catch (Exception e) {

e.printStackTrace();

}

}

}

response.getWriter().print(name + extName);

代码很好懂,不讲解了。



下面是官方英文文档的一些翻译。此文档是2.14版本的,现在出了3.0版本,属性和事件名称有改变,注意参考JS文件

Uploadify属性

属性名类型说明
autoboolean添加到队列后自动上传
buttonImgstring浏览按钮的背景图片
buttonTextstring浏览按钮的显示文字
cancelImgstring取消上传按钮的图片
checkScriptstring服务端用来检查文件是否重名的脚本
displayDatastring上传时显示的提示(percentage百分比/speed速度)
expressInstallstring安装swf的文件(expressInstall.swf)路径
fileDataNamestring重定义的input的名称(后台)
fileDescstring文件打开对话框中的文件类型描述
fileExtstring可允许上传的文件类型
folderstring文件存储的文件夹
heightinteger浏览按钮的高度
hideButtonboolean是否隐藏浏览按钮
methodstring表单提交方式(post/get)
multiboolean是否允许上传多个文件
queueIDstring上传队列的元素的ID
queueSizeLimitinteger上传队列大小
removeCompletedboolean完成上传时是否自动删除
rolloverboolean当鼠标移上时产生特效
scriptstring上传表单提交的目标脚本
scriptAccessstringswf的文件地址
scriptDataJSON提交给后台的附加信息
simUploadLimitinteger同时可上传的文件实例数
sizeLimitinteger每文件的最大大小
uploaderstringuploadify上传的swf文件路径
widthinteger浏览按钮的宽度
wmodestringflash文件的wmode模式

Uploadify事件

事件名参数说明
onAllCompletefunction(event,data)当所有文件上传完毕时触发
onCancelfunction(event,ID,fileObj,data)当某文件被取消上传时触发
onCheckfunction()当开始上传时检查是否重名
onClearQueuefunction(event)当执行uploadifyClearQueue()后执行
onCompletefunction(event, ID, fileObj, response, data)当某文件上传完毕时触发
onErrorfunction(event,ID,fileObj,errorObj)当上传时有错误返回时触发
onInitfunction()当uploadify实例加载完毕时触发
onOpenfunction(event,ID,fileObj)当某文件开始上传时触发
onProgressfunction(event,ID,fileObj,data)当某文件上传进度改变时触发
onQueueFullfunction(event,queueSizeLimit)当上传队列达到限制时触发
onSelectfunction(event,ID,fileObj)每个文件被添加到上传队列时触发
onSelectOncefunction(event,data)一次文件被添加到上传队列时触发
onSWFReadyfunction()当flash加载完毕时触发

Uploadify方法

方法名说明
.uploadify()创建Uploadify的实例
.uploadifyCancel()从上传队列中移除一个文件
.uploadifyClearQueue()清空上传队列
.uploadifySettings()修改Uploadify实例的属性
.uploadifyUpload()触法文件上传

转载于:https://www.cnblogs.com/pannysp/archive/2012/03/03/2378091.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jquery Uploadify 是一个基于 Jquery 的文件上传插件,它使用 Flash 技术来实现文件上传功能。它简单易用,可以方便地进行文件上传,并提供了多个自定义选项,如文件大小限制、文件类型限制等。 H5 上传指的是使用 HTML5 中的 File API 来实现文件上传功能。与传统的 Flash、Java Applet 等方式相比,H5 上传更加安全、快速,并且不需要额外安装插件使用 Jquery Uploadify 进行 H5 上传,可以通过以下步骤进行操作: 1. 下载并引入 Jquery Uploadify 插件文件,并确保引入了 jQuery 库。 2. 在 HTML 文件中创建一个显示上传文件区域的容器,如: <div id="file-upload-container"> <input type="file" id="file-upload" name="file-upload" multiple> </div> 3. 在 JavaScript 文件中,使用 Jquery 的选择器选取文件上传区域,然后调用 Uploadify 插件的方法进行初始化,如: $("#file-upload").uploadify({ swf: 'uploadify.swf', // 指定 Flash 文件路径 uploader: 'uploadify.php', // 指定上传文件的服务器端处理文件路径 // 其他自定义选项... }); 4. 在服务器端编写处理文件上传的脚本(uploadify.php)。可以使用 PHP、Java、Python 等服务器端语言进行处理,并根据上传结果返回相应的提示信息。 通过以上步骤,我们就可以使用 Jquery Uploadify 插件进行 H5 文件上传了。需要注意的是,由于 H5 上传只能在现代浏览器中完全支持,所以在使用时应该检查浏览器兼容性,确保用户能够正常上传文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值