$(function () {
$('#fileupload').fileupload({
dropZone: //拖拽区域
});
$("#content").focus();
// data-url="../upload_server.php?rid=<?=$room_id?>&uid=<?=$user_id?>"
$('#fileupload').fileupload({
maxChunkSize: 10000000,//分块上传
retryTimeout: 8000,//重试时间
dataType: 'json',
dropZone: $(this),
processQueue: [{
action: 'validate',
maxNumberOfFiles: 1,
}],
sequentialUploads: true,//按顺序单个文件上传
// url: '',//配置服务器端处理入口
//chunksend: function(e,data){console.log(data);},
chunkfail: function(e,data){//大文件分块上传失败
if(data.textStatus == 'abort'){
}
},
add: function (e, data) {
$md5_id = uniqueId();
var url = "../upload_server.php?rid=<?=$room_id?>&uid=<?=$user_id?>&md5_id="+$md5_id;
$(this).fileupload('option', 'url', url); //配置服务器端脚本处理入口链接
$(this).fileupload('option', 'md5_id', $md5_id);//自定义md5_id参数
var nG = 1024*1024*1024;
var isSize = data.files[0].size / nG;
if(isSize > 1){
//如果添加的文件大于设定大小返回提示信息
$("#chat-show").append(str);
$("#chat-show").scrollTop($("#chat-show")[0].scrollHeight);
return;
}
//所选上传文件信息显示在正在上传区域
console.log(data.files);查看上传文件信息
data.files[0].name//文件名
data.files[0].size//文件大小
$md5_id//文件上级目录名字
//提交开始上传
var jqXHR = data.submit()
.success(function (result, textStatus, jqXHR) {})
.error(function (jqXHR, textStatus, errorThrown) {
if(textStatus != 'abort'){
//上传失败
}else{
// console.log(jqXHR, textStatus, errorThrown);
}
})
.complete(function (result, textStatus, jqXHR) {
//上传完成
if(result){
if(result.statusText == 'abort'){
}
if(result.files){
console.log(result.files[0]);//查看上传文件信息
result.files[0].name//文件上传名字
result.files[0].url//文件上传链接
result.files[0].size//文件上传大小
if(result.responseJSON){
if(result.responseJSON.files)
{
$.each(result.responseJSON.files,function(i,n){
if($("#file-ing-"+n.md5_dir)){
$("#file-ing-"+n.md5_dir).html('');
}
});
}
}
}
}
});
jqXHR.uploadId=$md5_id; //添加上传唯一id
data.jqXHR.uploadId=$md5_id;//添加上传唯一id
//取消某一文件上传处理
$(".file-handle-cancel").click(function(e){
var objCancel = eval('('+e.target.dataset.options+')');
if(objCancel.md5Id == jqXHR.uploadId){
data.jqXHR.abort();
return;
}
});
},
//singleFileUploads:false,
//上传进度条
progress: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
//$('#progress-'+$md5_id+' .bar').css(
$('#progress-'+data.md5_id+' .bar').css(
'width',
progress + '%'
);
},
//上传成功
done: function (e, data) {
$.each(data.result.files, function (index, file) {
var to_client_id = $("#reply_to_id").val();
var to_client_name = $("#reply_to_name").val();
var user_avatar = '<?=$user_avatar?>';
ws.send('{"type":"say","user_avatar":"'+user_avatar+'","to_client_id":"'+to_client_id+'","to_client_name":"'+to_client_name+'","md5_id":"'+data.md5_id+'","is_file":"1","file_name":"'+file.name+'","file_type":"'+file.type+'","file_url":"'+file.url+'","file_size":"'+file.size+'"}');
});
},
send: function(e,data){
},
fail: function(e,data){
if(data.textStatus == 'error'){
//上传失败,网络错误重试
if(timeUploadFail){
clearTimeout(timeUploadFail);
}
timeUploadFail = setTimeout(function(){
data.submit();
},8000);
}else{
//取消上传
$("#file-ing-"+data.md5_id).html('');
$.ajax({
type:'POST',
url:''+data.url+'&file_del=1&filename='+data.files[0].name+'.bin',
/* success:function(res){
alert(res);
}*/
});
}
}
});
});