plupload使用示例
<script type="text/javascript">
$(function () {
var loadIndex = 0;
var afterUploadComplete = null;
$('#btn').on('click', function () {
var validator = [];
if ($.trim($('#<%=ddlCompany.ClientID %>').val()).length < 1) {
var i = layer.tips('请选择对账公司。', '#<%=ddlCompany.ClientID %>', { tips: [2, '#ff5f3e'], tipsMore: true, time: 5000 });
validator.push(i);
}
if ($('#<%=hidAttachFilePath.ClientID %>').val().length < 1 && uploader.total.size < 10) {
var i = layer.tips('必须选择附件。', '#btnbrowse', { tips: [2, '#ff5f3e'], tipsMore: true, time: 5000 });
validator.push(i);
}
if (validator.length > 0) {
return;
}
var $this = $(this);
var doingIndex = layer.msg('正在处理', { icon: 16, time: -1, shade: 0.3 });
var $from = $this.closest('form');
afterUploadComplete = function () {
$.post($from.attr('action'), $from.serialize())
.done(function (d) {
if (d.IsSuccess) {
$('#inconsistentTip').hide();
layer.alert('???????。', { icon: 1 });
} else {
if (d.Message) {
layer.alert('?????' + d.Message, { icon: 2 });
}
$('#inconsistentTip').show();
}
})
.fail(function () {
layer.alert('????', { icon: 2 });
})
.complete(function () {
$('#uploadprogress').text('');
layer.close(doingIndex);
});
};
uploader.start(); //开始上传
});
var uploader = new plupload.Uploader({ //实例化一个plupload上传对象
runtimes: 'html5,flash,silverlight,html4',
browse_button: 'btnbrowse',
container: document.getElementById('pluploadContainer'), // ... or DOM Element itself
url: 'DuiZhangFileUploader.ashx',
flash_swf_url: '/Scripts/plupload-2.1.8/js/Moxie.swf',
silverlight_xap_url: '/Scripts/plupload-2.1.8/js/Moxie.xap',
filters: {
mime_types: [
{title: "EXCEL文件", extensions: "xls,xlsx" }
],
max_file_size: '10mb',
prevent_duplicates: false
},
multipart: true,
multi_selection: false,
init: {
FilesAdded: function (up, files) {
if (files.length > 0) {
var index = files.length - 1;
$('#uploadfilename').text(files[index].name + ' (' + plupload.formatSize(files[index].size) + ')');
}
if (up.total.queued > 1) {
var t= up.splice(0, up.total.uploaded + up.total.failed + up.total.queued - 1);
}
},
BeforeUpload: function (up, file) {
$('#uploadprogress').text('');
up.settings.multipart_params = { fileName: file.name };
},
UploadProgress: function (up, file) {
$('#uploadprogress').text('[上传进度:' + file.percent + '%]');
},
FileUploaded: function (up, file, result) {
if (result.response == null) {
afterUploadComplete = null;
top.window.layer.close(loadIndex);
top.window.layer.msg('附件上传失败', { icon: 2, time: -1, btn: "好" });
}
else {
$('#<%=hidFileName.ClientID %>').val(file.name);
$('#<%=hidAttachFilePath.ClientID %>').val(result.response);
}
},
UploadComplete: function (up, files) {
if (afterUploadComplete !== null) {
afterUploadComplete();
}
},
Error: function (up, error) {
alert("错误:" + error.message);
}
}
});
uploader.init(); //初始化
});
</script>