You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
legado/app/src/main/assets/web/uploadBook/js/swf_fun.js

183 lines
3.8 KiB

/**
* swf 上传
*/
var swfu;//swfupload 对象
var swfSelectCount = 0;// 当前选中的文件数量
window.onload = function () {
var settings = {
upload_url: config.url,
/*post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},*/
file_size_limit: config.fileLimitSize + " B",
file_types: "*." + config.fileTypes.split("|").join(";*."),
file_types_description: "All Files",
file_upload_limit: 1000, //配置上传个数
file_queue_limit: 0,
custom_settings: {
progressTarget: "fsUploadProgress",
cancelButtonId: "btnCancel"
},
debug: 0,
button_cursor: SWFUpload.CURSOR.HAND,
button_image_url: "i/wifi_btn_b.png",
button_width: "240",
button_height: "100",
button_float: "right",
button_placeholder_id: "spanButtonPlaceHolder",
button_text: '<span class="theFont"></span>',
assume_success_timeout: 30,
file_queued_handler: swfFileQueued,
file_queue_error_handler: fileQueueError,
file_dialog_complete_handler: fileDialogComplete,
upload_start_handler: uploadStart,
upload_progress_handler: uploadProgress,
upload_error_handler: uploadError,
upload_success_handler: uploadSuccess,
upload_complete_handler: uploadComplete,
queue_complete_handler: queueComplete
};
swfu = new SWFUpload(settings);
};
//上传完成
function uploadComplete(file, server, response) {
//继续下一个文件的上传
this.startUpload();
}
//完成队列里的上传
function queueComplete(numFilesUploaded) {
}
function userStartUpload(file_id) {
swfu.startUpload(file_id);
}
function fileQueueError(file, errorCode, message) {
switch (errorCode) {
case -100:
//alert("Over 100 books");
case -110:
//alert("One of books is over 500MB");
break;
case -120:
//alert("One of books is 0KB");
break;
}
}
//入列完毕
function fileDialogComplete(numFilesSelected, numFilesQueued) {
if (numFilesSelected > 0) {
this.startUpload()
}
}
//开始上传
function uploadStart(file) {
return true;
}
//上传出错
function uploadError(file, errorCode, message) {
switch (errorCode) {
case SWFUpload.UPLOAD_ERROR.HTTP_ERROR:
errorMessage = "Error";
break;
case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED:
errorMessage = "Failed";
break;
case SWFUpload.UPLOAD_ERROR.IO_ERROR:
errorMessage = "Please open wifi upload page";
break;
case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR:
errorMessage = "Security error";
break;
case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED:
errorMessage = "Security error";
break;
case SWFUpload.UPLOAD_ERROR.FILE_VALIDATION_FAILED:
errorMessage = "Unable to verify. Skip ";
break;
default:
errorMessage = "Unhandled error";
break;
}
//从上传队列中移除
removeFileFromFilesUpload(filesUpload, file.id)
errorMessage = jsonLang.t8;
$("#handle_button_" + file.id).replaceWith("<dd>" + errorMessage + "</dd>")
}
var tmp = 0;
var errorFile = 0;
var errorMsgs = [];
function swfFileQueued(file) {
//本次上传选中的文件个数
if (swfSelectCount == 0) swfSelectCount = this.getStats().files_queued
//检测文件
msg = checkFile(file)
//文件可以通过
if (!msg) {
//添加全局的队列
filesUpload.push(file);
//在页面进行展示
fileQueued(file, 0)
} else {
//从上传队列移除,验证失败的文件
this.cancelUpload(file.id, false)
errorMsgs.push(msg)
}
//队列选择完毕,初始化所有的数据
if (++tmp == swfSelectCount) {
if (errorMsgs.length > 0) {
//只选择做一个进行上传
if (swfSelectCount == 1) {
alert(errorMsgs[0]);
} else {
a1 = swfSelectCount;
a2 = swfSelectCount - errorMsgs.length;
var replaceArr = new Array(a1, a2);
alert(stringReplace(jsonLang.t7, replaceArr));
}
}
tmp = 0;
errorFile = 0;
swfSelectCount = 0;
errorMsgs = []
}
}
var SWFFuns = {
cancelUpload: function (fid) {
swfu.cancelUpload(fid, false);
}
}