如何在CKEditor的Upload选项卡中获取“upload”文件输入控件的文件对象(File API)

时间:2015-11-30 06:13:14

标签: ckeditor

我想获取文件输入控件中选择的图像的文件对象(如在文件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
						    
						}
						
					}

1 个答案:

答案 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;
    }
}