javascript/readAsArrayBuffer安全性错误

javascript/readAsArrayBuffer安全性错误,javascript,angularjs,upload,filereader,Javascript,Angularjs,Upload,Filereader,嘿,伙计们,我对文件读取器指令有问题,在IE 11上,我遇到间歇性安全错误: 指令代码: (function () { var module = angular.module("new"); module.directive("freader", function () { return { scope: { freader: "=" }, link: function (scope, element) {

嘿,伙计们,我对文件读取器指令有问题,在IE 11上,我遇到间歇性安全错误:

指令代码:

(function () {
var module = angular.module("new");
module.directive("freader", function () {
    return {
        scope: {
            freader: "="
        },
        link: function (scope, element) {
            element.bind("change", function (e) {
                var reader = new FileReader();
                var file = e.target.files[0];
                var data = null;
                file.size = file.date;
                reader.onload = function (e) {
                    var array = new Uint8Array(e.target.result);
                    var result = Array.prototype.slice.call(array);
                    data = { data: result };
                    data.name = file.name;
                    if (data) {
                        scope.$apply(function() {
                            scope.freader = data;
                        });
                    }
                }
                if(file)
                   reader.readAsArrayBuffer(file);
            });
        }
    }
});})();
到目前为止,我进行了研究,创建了clean函数:

<input type="file" freader="vm.file" onclick="clean(this)" />

function clean(val) {
    try {
        val.value = null;
    } catch (ex) { }
    if (val.value) {
        val.parentNode.replaceChild(val.cloneNode(true), val);
    }
}

功能清洁(val){
试一试{
val.value=null;
}捕获(ex){}
如果(值){
val.parentNode.replaceChild(val.cloneNode(true),val);
}
}
我还尝试将输入类型设置为文本,然后再设置回文件,但没有任何效果,错误总是在一段时间后出现


不确定如何处理这个问题

无法设置
文件
对象的
.size
属性<代码>文件对象没有
日期
属性。您可以在元素的
onclick
处理程序中将
元素的
.value
设置为
null
。您试图实现什么?范围:{freader:=“}的目的是什么?您是否试图在
scope.filereader=data处引用
scope.filereader
?为什么需要单击处理程序?对不起,这是我的输入错误,应该是scope.freader=data;。我在那里找到了一些建议清理价值的帖子,因为这是IE的一个常见问题。我已经有一段时间没有尝试过IE了。无法再现错误<代码>单击
不需要处理程序。当所有其他任务在
change
事件中完成时,您可以调用
.value=”“
。如果我已经尝试过,同样的事情也会发生。无法设置
文件
对象的
.size
属性<代码>文件对象没有
日期
属性。您可以在元素的
onclick
处理程序中将
元素的
.value
设置为
null
。您试图实现什么?范围:{freader:=“}的目的是什么?您是否试图在
scope.filereader=data处引用
scope.filereader
?为什么需要单击处理程序?对不起,这是我的输入错误,应该是scope.freader=data;。我在那里找到了一些建议清理价值的帖子,因为这是IE的一个常见问题。我已经有一段时间没有尝试过IE了。无法再现错误<代码>单击
不需要处理程序。您可以调用
.value=”“
当所有其他任务在
更改时完成
如果我已经尝试过,同样的事情也会发生。