lenya
3/15/2018 - 3:22 AM

plupload使用示例

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>