plupload使用例子

8 篇文章 0 订阅

plupload使用例子

1. 例子

<li><a id="uploadFile">上传</a></li>
//文书上传和显示
$(function () {
    var uploader = new plupload.Uploader({
        runtimes: 'html5,flash,silverlight,html4',// 指定上传方式
        browse_button: 'uploadFile',
        unique_names: true,
        file_data_name: 'files',//后端取文件的名字
        url: getUrlPath() + "/uploadFile.do",
        filters: { //过滤器
            max_file_size: '63kb', //文件最大可上传的文件大小
            mime_types: [ //用来限定上传文件的类型
                {title: "Default files", extensions: "doc,docx,pdf"}
            ],
            prevent_duplicates: false // 不可选取重复的文件
        },
        multipart_params: {},
        multi_selection: true,  //是否可以在文件浏览对话框中选择多个文件
        multiple_queues: false, //是否启用以拖放文件到窗口
        init: {
            Init: function (up) {
            },
            BeforeUpload: function (up, files) { //当队列中的某一个文件正要开始上传前触发
            },
            FilesAdded: function (up, files) {	// 添加文件回调
					 up.start();
                }
            },
            UploadProgress: function (up, file) {	// 显示文件上传的状态,会在文件上传过程中不断触发
            },
            FileUploaded: function (up, file, info) { //当队列中的某一个文件上传完成后触发 针对于每一个文件;这里主要返回文件上传成功与否的状态,
                var res = JSON.parse(info.response);
               //在这儿可以拼接html
                $('#files').append(html);
                //初始化复选框
                checkboxInit($('#' + ("checkFile" + res.data)));
            },
            UploadComplete: function (up, files) {		//队列中的所有文件上传完后,触发
                if (files.length === 0) {
                    layer.alert("请选择文件", {icon: 7});
                    return;
                }
                layer.alert("文件上传成功", {icon: 1}, function (index) {
                    layer.close(index);
                });
            },
            Error: function (up, err, file) { // 上传出错的时候触发
                if (err.message === 'File extension error.') {
                    layer.msg('上传的文件格式不支持', {
                        time: 2000,
                        icon: 2,
                        shade: 0.3
                    });
                } else if (err.message === 'File size error.') {
                    layer.msg('上传的文件过大', {
                        time: 2000,
                        icon: 2,
                        shade: 0.3
                    });
                } else if (err.message === 'Duplicate file error.') {
                    layer.msg('上传的文件重复', {
                        time: 2000,
                        icon: 2,
                        shade: 0.3
                    });
                } else {
                    layer.msg('上传的文件错误', {
                        time: 2000,
                        icon: 2,
                        shade: 0.3
                    });
                }
            }
        }
    });
    uploader.init();//初始化plupload,这句是必须的
})
    /**
     * @param files 前端传过来的文件
     * @return tdh.entity.vo.CommResultVO 通用返回类
     * @description 文件上传
     * @author zhaohuaqing
     * @date 2021/7/22 14:19
     */
    @PostMapping(value = "/uploadFile.do")
    @ResponseBody
    public CommResultVo uploadFile(MultipartFile files) {
        log.debug("前端传回来的文件:{}", files);
        int xh;
        try {
            xh = ckjzService.uploadTempFile(files);
        } catch (IOException e) {
            log.error("IO异常" + e.getMessage(), e);
            return CommResultVo.fail("文件上传异常");
        }
        log.debug("文件序号:{}", xh);
        return xh == 0 ? CommResultVo.fail("上传失败") : CommResultVo.success("上传成功", xh);
    }

2.说明

可以自己去找plupload的文档

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值