importExcel组件导入的时候需要选择excel文件,目前默认的在导入的时候没有控制只能选择excel文件
可以参考下面两种方案进行控制
方案一.修改/UI2/system/components/justep/excel/importExcel.js中createUploader方法的实现
在new Uploader的参数中加上accept属性的设置,控制上传类型。这个方案是弹出的选择文件框中只能选择xls或xlsx后缀的文件
如下:
_createUploader : function(domNode) { this.uploader = new Uploader(domNode, { actionUrl : uploadURL, autoUpload: false, requestHeader : { Accept : 'application/json' }, name : 'excel', accept : "application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }); this.uploader.on('onStart', this._doUploadReady, this); this.uploader.on('onSuccess', this._doUploadOK, this); },
修改组件的js文件参考http://docs.wex5.com/bex5-ui-question-list-10013/
方案二.修改/UI2/system/components/justep/excel/dialog/importConfig.js中的_doFileSelected方法的实现,
通过event.file.type获取选择的文件类型,判断是否为excel类型的,如果不是调用event.cancel = true;中断操作。这个方案是弹出的选择文件框中选择文件后判断的
如下:
Model.prototype._doFileSelected = function(event) { var type = event.file.type;//获取选择的文件类型 if (type == "application/vnd.ms-excel" || type == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") this.comp('cfgData').setValue('excel', event.file.name); else { alert("请选择excel文件"); event.cancel = true; } };
评一波