我的.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里面有错误?谁知道问题是什么?谢谢!!!
答案 0 :(得分:4)
看起来event.target
的类型为FileReader
,因此请尝试将event.target
转换为特定类型,以告诉TypeScript它实际上会有.result
值:
var picFile = <FileReader>event.target;
请参阅(here)以供参考。