File upload 无法使用Internext Explorer中的YUI获取文件对象
我正在尝试使用YUI上传文件。 下面是我在Firefox和Chrome中运行良好的代码,但在IE8中不起作用File upload 无法使用Internext Explorer中的YUI获取文件对象,file-upload,liferay-6,yui,File Upload,Liferay 6,Yui,我正在尝试使用YUI上传文件。 下面是我在Firefox和Chrome中运行良好的代码,但在IE8中不起作用 this.portlet_view_object.delegate('change', function(e) { ...... var fileField = Y.one('#newcase_file_'+context.imageCount); var file = fileField._node.files[0]; if(!context.max
this.portlet_view_object.delegate('change', function(e) {
......
var fileField = Y.one('#newcase_file_'+context.imageCount);
var file = fileField._node.files[0];
if(!context.maxFileSize.call(context,file)){
return;
}
....
这里,maxFileSize是我传递file对象并执行与fiel相关的操作(例如fileSize、fileName)的方法。
在firefox和chrome中,我通过fileField获取文件对象;
但同样的事情在IE8中不起作用,并且会出现以下错误。
_node.files.0'为null或不是对象
欢迎提出任何建议
谢谢。这个问题与YUI无关,只与IE有关
.files
保存多个选定文件,但IE8不支持这种方法,只能选择一个文件。因此,无法识别此属性
您可以使用以下解决方法:
if ('files' in fileField._node)
var file = fileField._node.files[0];
else
var file = fileField._node.value;
如果您愿意,也可以完全跳过整个.files
,尽管我个人不建议这样做