Extjs文件上传与过滤

{
                    hidden: mode !== 'upload' ? true : false,
                    xtype: 'multipartfile',
                    name: 'files',
                    fieldLabel: '上传文件',
                    emptyText: '只支持PDF格式文件',
                    msgTarget: 'side',
                    anchor: '100%',
                    buttonText: '选择文件',
                    buttonConfig: {
                        height: '32px'
                    },
                    validator: function (file) {
                        var files = this.files;
                        if (frame.util.isNull(files))
                            return;
                        if (me.space < files[0].size / 1024) {
                            return "文件大小超过可使用空间!";
                        } else if (files[0].size > 100 * 1024 * 1024) {
                            return "文件大小超过限制!";
                        }
                        else {
                            //pdf格式校验
                            const file = files[0].name;
                            if (frame.util.isNull(file)) {
                                return
                            }
                            const arr = file.split('.')
                            const filetype = Ext.util.Format.lowercase(arr[arr.length - 1]);
                            if (filetype != 'pdf') {
                                return "仅支持pdf文件"
                            } else {
                                return true
                            }
                        }
                    },
                    listeners: {
                        afterrender: function (obj, ops) {
                            const typeArray = ["application/pdf"];//如果需要文件过滤可以在组件渲染后,将需要过滤的文件格式添加进来
                            const fileDom = this.getEl().down('input[type=file]');
                            fileDom.dom.setAttribute("multiple", "multiple");
                            fileDom.dom.setAttribute("accept", typeArray.join(","));
                        }

                    }
                },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值