@H_502_0@本文实例讲述了SWFUpload多文件上传及文件个数限制的方法。分享给大家供大家参考,具体如下:
@H_502_0@SWFUpload是一个基于flash与JavaScript的客户端文件上传组件。
@H_502_0@
handlers.js文件
@H_502_0@完成文件入列队(fileQueued) →
完成选择文件(fileDialogComplete) → 开始上传文件(uploadStart) → 上传处理(uploadProgress) → 上传成功(uploadSuccess) → 上传完成(uploadComplete) →
列队完成(queueComplete)
@H_502_0@如上所示,单选文件顺序执行以上回调函数,需要注意的是选择多个文件,fileQueued、queueComplete只会执行一次,而fileDialogComplet...→ uploadComplete每个文件都执行一次。
@H_502_0@参考官方例子完成基本功能后,仿赶集采用iframe的方式
@H_502_0@为了实现缩略图预览 以及删除 和上传图片个数的限制
@H_502_0@显示缩略图,生成删除缩略图的按钮,
@H_502_0@thumbImages为父页面显示缩略图的div
src_s为生成的缩略图地址
src_b为原图地址
serverData是图片上传处理页面返回的数据 成功则以 success|缩略图地址|原图地址 这样的格式返回
<div class="jb51code">
<div class="jb51code">
<pre class="brush:js;">
function uploadSuccess(file,serverData) {
try {
var result = serverData.split('|');
if(result[0] != 'success') {
var progress = new FileProgress(file,this.customSettings.progressTarget);
progress.setError();
progress.setStatus(serverData);
progress.toggleCancel(false);
} else {
var progress = new FileProgress(file,this.customSettings.progressTarget);
progress.setComplete();
progress.setStatus("上传完成");
progress.toggleCancel(false);
var img_url_s = result[1];
var img_url_b = result[2];
addImage(img_url_s,img_url_b);
}
} catch (ex) {
this.debug(ex);
}
}