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;//终止上传 } }); }; };
评一波