文件阅读器不适用于chrome和IE

时间:2012-07-18 12:16:08

标签: javascript html5 file-upload filereader

我从我的电脑上传了一个图像文件,然后将其作为dataurl读取。然后将其传递给img元素进行预览。它在firefox中工作正常。但在chrome和IE中,它没有从文件阅读器获取src。

这就是我正在做的事,

var image = document.createElement("img");
    var thumbnail = document.getElementById("thumbnail");
    image.file = file;
    thumbnail.appendChild(image);

    function handlefilereader(evt){
     image.src = evt.target.result; 
    }

    var reader = new FileReader()
    reader.onload = handlefilereader;
    reader.readAsDataURL(file);

    image.id = count;
    count++;
    image.draggable = true;
    image.ondragstart = dragIt;
    alert(image.src);

2 个答案:

答案 0 :(得分:2)

您的浏览器版本可能不支持Filereader。请参阅此兼容性图表。

http://caniuse.com/filereader

此外,event.target与浏览器不完全兼容。考虑

var target = evt.target || evt.srcElement;
image.src = target.result;

答案 1 :(得分:2)

与此处提到的人一样,IE中不支持File API。但没有人提到可能的解决方案。这是一个 - > FileReader + flash

所以你仍然可以在IE中使用FileAPI。