javascript / angular readAsArrayBuffer安全错误

时间:2017-07-17 01:54:27

标签: javascript angularjs upload filereader

嘿伙计我有文件阅读器指令的问题在IE 11上我遇到了间歇性的安全错误:

enter image description here

指令代码:

(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);
            });
        }
    }
});})();

到目前为止,我研究了干净的功能:

<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);
    }
}

我还尝试将输入类型设置为文本然后再返回文件但是没有任何效果,错误总是在一段时间后显示。

不确定如何处理这个问题?

0 个答案:

没有答案