在类型“EventTarget”上不存在属性“result”?

3
我在我的.ts文件中有一个Javascript代码,它一直显示类型'EventTarget'上不存在属性'result' ???
imageUpload() {

window.onload = function(){   
    //Check File API support zzzz
        (<any>$('#files')).live("change", function(event) {
            var files = event.target.files; //FileList object
            var output = document.getElementById("result");
            for(var i = 0; i< files.length; i++)
            {
                var file = files[i];
                //Only pics
                // if(!file.type.match('image'))
                if(file.type.match('image.*')){
                    if(this.files[0].size < 2097152){    
                  // continue;
                    var picReader = new FileReader();
                    picReader.addEventListener("load",function(event){
                        var picFile = event.target;
                        var div = document.createElement("div");
                        div.innerHTML = "<img class='thumbnail' src='" + picFile.result + "'" +
                                "title='preview image'>";
                        output.insertBefore(div,null);            
                    });
                    //Read the image
                    $('#clear, #result').show();
                    picReader.readAsDataURL(file);
                    }else{
                        alert("Image Size is too big. Minimum size is 2MB.");
                        $(this).val("");
                    }
                }else{
                alert("You can only upload image file.");
                $(this).val("");
            }
            }                               

        });
}
}

在我的HTML中,我使用了这个输入标签。
    <input id="files" type="file" accept="image/*" multiple/>

我的输出标签就像这样。
为什么JavaScript中会出现错误?有人知道问题出在哪里吗?谢谢!

(<FileReader>e.target).result 对我有效 - gaurang
2个回答

5

看起来 event.target 是类型为 FileReader 的,因此尝试将 event.target 强制转换为特定类型,以告诉 TypeScript 它实际上将具有 .result 值:

var picFile = <FileReader>event.target;

参考(在这里)


0

已更改

request.onsuccess = function (event) {
            resolve(event.target.result);
        }

到这里

request.onsuccess = function (event) {
            var et = <FileReader>event.target;
            resolve(et.result);
        }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接