asp.net中webuploader的使用

时间:2024-03-18 14:59:27

首先引入js和css(jquery也要引用)

<!--引入CSS--><link rel="stylesheet" type="text/css" href="webuploader文件夹/webuploader.css">

<!--引入JS--><script type="text/javascript" src="webuploader文件夹/webuploader.js"></script>

html部分(就是一个div)

asp.net中webuploader的使用

初始化webuploader

//因页面中又是需要初始化多个上传按钮,.create生成的对象名使用   window[uploaderid]

 $('[plugin="webuploader"]').livequery(function () {
        $(this).each(function () {
            var datas = eval("(" + $(this).attr("data") + ")");


            // 初始化Web Uploader
            //var uploader = WebUploader.create({
            var uploaderid = datas.id;
            window[uploaderid] = WebUploader.create({
                // 选完文件后是否自动上传
                auto: true,
                // swf文件路径
                swf: '../../../assets/plugin/webuploader/Uploader.swf',
                // 文件接收服务端。
                server: datas.server,
                // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
                resize: false,
                fileSingleSizeLimit: datas.fileSizeLimit * 1024 * 1024,//限制大小'datas.fileSizeLimit'M,所有被选文件,超出选择
                duplicate :true, //去重, 根据文件名字、文件大小和最后修改时间来生成hash Key.
                // 选择文件的按钮。可选。
                // 内部根据当前运行是创建,可能是input元素,也可能是flash.
                //pick: '#' + datas.id,
                pick: {
                    id: '#' + datas.id,
                    multiple: false
                },
                // 只允许选择图片文件。(mimeTypes未使用,因上传附件时mimeType较为复杂)
                accept: {
                    title: 'files',
                    extensions: datas.fileExtensions,
                    //mimeTypes: 'files/*'
                    //mimeTypes: 'image/jpeg,image/png,image/jpg'
                    //mimeTypes: 'file/doc,file/docx'
                    //mimeTypes: 'image/*'
                    //mimeTypes: 'image/doc,image/docx'
                }
            });

//文件选择失败的回调

            window[uploaderid].on('error', function (type) {
                //文件太大
                if (type == "Q_EXCEED_SIZE_LIMIT") {
                    //console.log('文件大小不可超过' + datas.fileSizeLimit + 'M,换个小点的文件吧!');
                    //alert('文件大小不可超过' + datas.fileSizeLimit + 'M,换个小点的文件吧!');
                    layer.alert('文件大小不可超过' + datas.fileSizeLimit + 'M,换个小点的文件吧!');
                }
                    //文件类型错误
                else if (type == 'Q_TYPE_DENIED') {
                    //console.log('文件类型错误!');
                    layer.alert('文件类型错误!');
                    //alert('文件类型错误!');
                }


            });

//文件上传失败的回调

            window[uploaderid].on('uploadError', function (type) {

            });

//文件上传成功的回调

            window[uploaderid].on('uploadSuccess', function (file, res) {         

});

//当某个文件上传到服务端响应后,会派送此事件来询问服务端响应是否有效。如果此事件handler返回值为false, 则此文件将派送server类型的uploadError事件。
            window[uploaderid].on('uploadAccept', function (file, res) {


                //console.log('文件上传中回调:' + res);
                var hasError = res.flag;
                if (!hasError) {
                    if (res.message.length > 0) {
                        //alert(res.error);
                        layer.alert(res.message);
                    }
                        // 通过return false来告诉组件,此文件上传有错。
                    else
                        return false;
                }

            });

//后台代码

未设置文件上传域的name值,默认为file。修改可使用fileVal {Object} [可选] [默认值:'file'] 

asp.net中webuploader的使用


注意:当用于初始化的div是在父元素为display:hidden时,div.width无法获取正确的宽度,生成的button高度为1px,无法点击。故修改webuploader.css

asp.net中webuploader的使用

asp.net中webuploader的使用