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;
}
};
评一波