1
This commit is contained in:
46
public/static/plugs/jquery/uploader.js
vendored
Normal file
46
public/static/plugs/jquery/uploader.js
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
define(function () {
|
||||
return function (element, InitHandler, UploadedHandler, CompleteHandler) {
|
||||
var exts = $(element).data('type') || '*';
|
||||
var uptype = $(element).attr('data-uptype') || '';
|
||||
|
||||
// 检查可以上传的文件后缀
|
||||
$.form.load('?s=' + window.ADMIN_MODULE + '/api.plugs/check', {
|
||||
exts: exts,
|
||||
uptype: uptype
|
||||
}, 'post', function (ret, options) {
|
||||
options = {url: ret.data.data.url, exts: ret.data.exts, acceptMime: ret.data.mime, data: ret.data.data};
|
||||
if (exts.indexOf('*') > -1) delete options.exts, delete options.acceptMime;
|
||||
return renderUploader(options), false;
|
||||
}, false, false, 0);
|
||||
|
||||
// 初始化上传组件
|
||||
function renderUploader(options, headers) {
|
||||
this.options = {
|
||||
proindex: 0,
|
||||
elem: element,
|
||||
headers: headers || {},
|
||||
multiple: $(element).attr('data-multiple') > 0,
|
||||
before: function () {
|
||||
this.proindex = $.msg.loading('上传进度 <span data-upload-progress>0%</span>');
|
||||
},
|
||||
progress: function (n) {
|
||||
$('[data-upload-progress]').html(n + '%');
|
||||
},
|
||||
done: function (ret) {
|
||||
this.multiple || $.msg.close(this.proindex);
|
||||
if (ret.uploaded) {
|
||||
if (typeof UploadedHandler === 'function') UploadedHandler(ret.url);
|
||||
else $('[name="' + ($(element).data('field') || 'file') + '"]').val(ret.url).trigger('change');
|
||||
} else {
|
||||
$.msg.error(ret.info || ret.error.message || '文件上传出错!');
|
||||
}
|
||||
},
|
||||
allDone: function () {
|
||||
$.msg.close(this.proindex), $(element).html($(element).data('html'));
|
||||
if (typeof CompleteHandler === 'function') CompleteHandler();
|
||||
}
|
||||
};
|
||||
layui.upload.render($.extend(this.options, options));
|
||||
};
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user