|
本帖最后由 zlg626 于 2018-4-26 15:56 编辑
attachmentSimple 组件多张图片同时上传,类型指定,限制大小,长度
var data = this.comp("mainData");//attachmentSimple所绑定的data组件对象
var uploader = this.comp("attachmentSimple1").uploader;
$(uploader.inputElement).attr('multiple', 'multiple');//设置uploader中的multiple属性值,可以上传多张图片
//判断只要特定的文件类型可以上传
uploader.on('onFileSelected',function(event){
var fileType = event.file.type;
//自己判断fileType,如果不符合条件用cancel为true终止选择文件
if(fileType != "image/jpeg" && fileType != "image/png" && fileType != "image/gif"){
event.cancel = true;
justep.Util.hint("请上传图片!");
}
//限制大小
if (event.file.size > 1024000) {
justep.Util.hint("上传的文件大小不能超过100KB");
event.cancel = true;
return;
}
//限制长度fFile 为attachmentSimple绑定的字段
//一次性上传多个文件
if( event.files.length >= 2){
alert("只能上传2个文件");
event.cancel = true;
return;
}
//分多次上传的单个文件
var fAttachment = data.getValue("fAttachment");
if(fAttachment){
if ($.parseJSON(fAttachment).length >= 2 ) {
alert("只能上传2个文件");
event.cancel = true;
}
}
注意 :img 的 onload事件是异步执行的!如果你想限制图片的大小和宽高,就需要设置attachmentSimple默认不自动上传:http://docs.wex5.com/wex5-ui-question-list-2105
在 onload 事件中调用self.comp('attachmentSimple1').uploader.submit(); 进行上传
Model.prototype.model1Load = function(event) {
var data = this.comp("data1");
var uploader = this.comp("attachmentSimple1").uploader;
$(uploader.inputElement).attr('multiple', 'multiple');
var _URL = window.URL || window.webkitURL;
uploader.on('onFileSelected', function(event) {
var file = event.file, img;
if (file) {
img = new Image();
img.onload = function () {
alert(this.width);
alert(this.height);
alert(file.size);
};
img.src = _URL.createObjectURL(file);
}
});
};
|
|