var uploader = WebUploader.create({
// 选择文件是否自动上传
auto: true,
// swf文件路径
swf: ‘PUBLIC/static/js/Uploader.swf’,
// 文件接收服务端。
server: ‘url’,
prepareNextFile: true,
duplicate: true, // 去重,
fileNumLimit: num, // 限制文件上传数
// 选择文件的按钮。可选。
// 内部根据当前运行是创建,可能是input元素,也可能是flash.
pick: {
id: ‘#’ + btu_id,
multiple: true
},
accept: {
title: ‘Images’,
extensions: ‘jpg,jpeg,png,docx,doc,txt’,
mimeTypes: ‘image/jpg,image/jpeg,image/png,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,text/plain’
},
method: ‘POST’
});
// 选择文件后触发
uploader.on(‘fileQueued’, function(file) {
$list.append( ‘
等待上传…
’ +// 文件上传过程中创建进度条实时显示。
uploader.on( ‘uploadProgress’, function( file, percentage ) {
var li= ( ‘#’+file.id );
percent= li.find(‘.progress .progress-bar’);
// 避免重复创建
if ( !percent.length ) {percent = $(‘
$li.find('p.state').text('上传成功');
// var new_url = file_url.replace(file_name, upload_time + '_' + file_name); //得到新的文件路径,为了文件名不重复使用时间
url = file_url + ',' + $('#' + btu_id + '_name').val(); // 得到文件保存的路径,多文件以','分割
$('#' + btu_id + '_name').val(url); // 给表单隐藏域赋值
$( '#'+file.id ).addClass('upload-state-done');
$('#'+ file.id).find('span').attr('id', file.id +'_remove');
$('#'+ file.id).find('span').attr('data', upload_time +'_' + file.name);
// 文件移除
$('#'+file.id +'_remove').on('click',function(){
var remove_url = $(this).attr('data'); // 时间+原文件名的新文件名
$.ajax({
type: "post",
url: "{:url('archives/removeRegFile')}",
data: 'file_url=' + remove_url,
dataType: "json",
success: function(data){
var arr = new Array();
arr = url.split(',');
if (data.id == true) {
removeByValue(arr, data.url); // 移除arr数组中值为data.url
var str = arr.join(','); // 数组转字符串
$('#' +btu_id +'_name').val(str); //重新给隐藏域赋值
$li.remove() // 移除节点
return url = $('#' +btu_id +'_name').val();
} else if (data.id == false) {
$li.find('p.state').text('移除失败');
arr.join(','); // 数组转字符串
$('#' +btu_id +'_name').val(arr); //重新给隐藏域赋值
return url =$('#' +btu_id +'_name').val();
} else if (data.id == 'no_url') {
removeByValue(arr, data.url)
arr = ''
$('#' +btu_id +'_name').val(arr)
$li.remove() // 移除节点
return url = $('#' +btu_id +'_name').val();
}
}
});
})
});
// 文件上传失败,显示上传出错。
uploader.on( ‘uploadError’, function( file ) {
var li= ( ‘#’+file.id ),
error= li.find(‘div.error’);
// 避免重复创建
if ( !error.length ) {error = $(‘
// 完成上传完了,成功或者失败,先删除进度条。
uploader.on( ‘uploadComplete’, function( file ) {
$( ‘#’+file.id ).find(‘.progress’).remove();
});
uploader.on(‘error’, function(type) {
if (type == “Q_TYPE_DENIED”) {
(‘#’ + btu_id + ‘_num’).text(‘请上传JPG、JPEG、PNG格式文件’)
} else if(type == “F_EXCEED_SIZE”) {(‘#’ + btu_id + ‘_num’).text(‘文件大小不能超过8M’)
} else if(type == “Q_EXCEED_NUM_LIMIT”) {
alert(‘最多上传5个文件’);
}
})