我的修改方法
1、服务器返回自定义JSON格式//{"version":"2.0","state":"success/error","errCode":"","errSource":"","errMessage":"","result":"","data":""}
源代码里ret就是上面返回的JSON
如果有错误state为error,result为自定义错误代码。
2、源代码修改
// 用来询问,是否返回的结果是有错误的。
requestAccept = function( reject ) {
var fn;
ret = tr.getResponseAsJson() || {};
ret._raw = tr.getResponse();
fn = function( value ) {
reject = value;
};
// 服务端响应了,不代表成功了,询问是否响应正确。
if ( !owner.trigger( 'uploadAccept', block, ret, fn ) ) {
//源代码
//reject = reject || 'server';
//为获取服务器返回错误代码更新源代码
//更新时间:2016-03-03 20:30
if (ret.state == "error") {
reject = ret.result || "server";
} else {
reject = reject || 'server';
}
}
return reject;
};
3、获取
1、 //当文件上传出错时触发。
uploader.on('uploadError', function (file, reason) {
console.log(reason);
});
2、直接用DEMO里的UPLOAD.JS文件的代码,然后在addfile的showError 添加自定义错误代码
如: // 当有文件添加进来时执行,负责view的创建
function addFile(file) {
var $li = $('
' +
'
' + file.name + '' +
'
' +
'
' +
''),
$btns = $('
'删除' +
'向右旋转' +
'向左旋转
$prgress = $li.find('p.progress span'),
$wrap = $li.find('p.imgWrap'),
$info = $('
showError = function (code) {
switch (code) {
case 'exceed_size':
text = '文件大小超出';
break;
case 'interrupt':
text = '上传暂停';
break;
case 'Error_FileExist':
text = '文件名已经存在';
break;
case 'Error_RelativePath':
text = '上传路径错误';
break;
default:
text = '上传失败,' + code;
break;
}
$info.text(text).appendTo($li);
};