在IE9中uploadFile不起作用

时间:2013-05-01 16:04:16

标签: javascript angularjs angularjs-scope

1添加文件输入框

<input type="file" id="uploadFile" ng-model="upFile" onchange="angular.element(this).scope().setFile(this)" />

2在控制器中创建setFile方法

$scope.setFile = function (element) {
    $scope.uploadedFile = element.files[0];
}

如上所述,我使用这种方式上传文件,它在FireFox中工作但在IE9中它显示“元素为null我们的未定义”。我该怎么办?

1 个答案:

答案 0 :(得分:0)

files是HTML5文件API功能,仅适用于支持它的浏览器。

在IE9中不支持,请参阅:http://caniuse.com/#feat=fileapi

您可以在使用前检查是否支持files,尝试(未测试):

if( ev.target.files ){
  $scope.uploadedFile = element.files[0];
}else{
  $scope.uploadedFile = ev.target.value;
}