我想获取文件输入控件中选择的图像的文件对象(如在文件API中),以便从名为“upload”的文件输入控件进行验证。 请告诉我怎么做。
id: 'Upload',
hidden: true,
filebrowser: 'uploadButton',
label: editor.lang.image.upload,
elements: [{
tagName:'input',
type: 'file',
id: 'upload',
label: editor.lang.image.btnUpload,
style: 'height:50px',
size: 38,
onChange: function (event) {
//alert(this.getValue()); //string value
var sender = event.sender;
var element = sender.getInputElement();
console.log(element.files[0]); //this line gives the error
}
}
答案 0 :(得分:0)
文件输入元素是运行时创建的,我无法从运行时创建的输入元素中获取文件对象。
失败后,最终我获得了这个自定义元素的值,并且只应用了扩展验证(如下所示)而不是文件大小验证,这是我的重要要求:
onChange: function (event) {
var filename = this.getValue();
var isValid = false;
if (filename == '') {
isValid = false;
}else if (CheckFileNameOnChange(filename)) {
isValid = true;
} else {
isValid = false;
this.setValue('');
}
return isValid;
}
function CheckFileNameOnChange(fileName) {
var ext = fileName.substring(fileName.lastIndexOf('.') + 1);
//alert(ext);
if (ext == "gif" || ext == "GIF" || ext == "JPEG" || ext == "jpeg" || ext == "jpg" || ext == "JPG" || ext == "bmp" || ext == "png") {
return true;
}
else {
alert("Browse/Choose valid image.");
return false;
}
}