ExtJS前台多文件上传无控件

本文介绍了一个使用ExtJS框架实现的多文件上传组件,该组件允许用户选择多个指定类型的文件进行上传,如Flash、MP3、图片和FLV等。组件在IE8及以上版本和其他主流浏览器中表现良好,但在IE8以下版本中可能存在兼容性问题。文章还提到了通过修改文件域的属性来支持多文件选择,并监听文件变化以更新显示。
xtype: 'filefield',
                id: 'multipartFiles',
                name: 'multipartFiles',
                fieldLabel: '附件',
                buttonText: '请选择',
                inputWidth: 300,
                allowBlank: false,
                multipleFn: function ($this) {   //多文件上传
                    var typeArray = ["application/x-shockwave-flash", "audio/MP3", "image/*", "flv-application/octet-stream"];
                    var fileDom = $this.getEl().down('input[type=file]');
                    fileDom.dom.setAttribute("multiple", "multiple");
                    fileDom.dom.setAttribute("accept", typeArray.join(","));
                },
                listeners: {
                    afterrender: function () {
                        this.multipleFn(this);
                    },
                    change: function () {
                        var fileDom = this.getEl().down('input[type=file]');
                        var files = fileDom.dom.files;
                        var str = '';
                        for (var i = 0; i < files.length; i++) {
                            str += files[i].name;
                            str += ' ';
                        }
                        Ext.getCmp('multipartFiles').setRawValue(str);

                        this.multipleFn(this);
                    }
                }

测试发现IE8以下不太好用,IE8以上不知道,其他浏览器都正常
代码详细在我写的另一篇文章里。
文件上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值