attachmentSimple组件默认没有提供设置上传类型和大小的属性和事件的控制,如果需要控制,可以获取到组件上的uploader,在uploader上绑定事件onFileSelected进行控制
获取uploader参考:
var uploader = this.comp("attachmentSimple1").uploader;
给uploader绑定onFileSelected参考:
uploader.on('onFileSelected',function(event){
});
一、控制上传类型
在onFileSelected事件中可以通过event.file.type获取到上传的文件类型,这个类型是用ContentType 类型控制如:
event.event.file.type = ‘application/msword’ 就是控制的.doc,其他相关类型的对应可以参考:http://www.3464.com/Data/HTTPContentType/
如果要直接判断doc、txt这样的文件后缀类型可以通过获取的上传的文件名,截取后缀去判断,获取文件名用event.file.name
判断类型不符合条件的可以用event.cancel = true终止上传
如下:
Model.prototype.modelLoad = function(event) {
var uploader = this.comp("attachmentSimple1").uploader;//获取uploader
var rootNode = this.getRootNode();
uploader.on('onFileSelected', function(event) {
var type = event.file.type;
if(type != 'application/msword'){//判断类型不为doc
justep.Util.hint('文件类型比符合要求', rootNode);
event.cancel = true://终止上传
}
});
};
};
二、控制上传大小
在onFileSelected事件中可以通过event.file.size获取到上传的附件的大小:
获取到的值是按照字节计算的,可以自己转换为KB等,如果大写不满足需求可以用event.cancel=true阻止上传
Model.prototype.modelLoad = function(event) {
var uploader = this.comp("attachmentSimple1").uploader;//获取uploader
var rootNode = this.getRootNode();
uploader.on('onFileSelected', function(event) {
var szie = event.file.size;
if(size < 7*1024){//大小小于7KB
justep.Util.hint('文件大小不能超过7KB', rootNode);
event.cancel = true;//终止上传
}
});
};
};
评一波