如何在使用JavaScript或jquery上传之前预览图像?

时间:2011-07-29 09:09:36

标签: javascript jquery internet-explorer google-chrome

我只需要在上传之前显示用户选择的图像(浏览)。为此,我使用此代码:

JS

function setImage(file) {
    if(document.all)
        document.getElementById('prevImage').src = file.value;
    else
        document.getElementById('prevImage').src = file.files.item(0).getAsDataURL();
    if(document.getElementById('prevImage').src.length > 0) 
        document.getElementById('prevImage').style.display = 'block';
}

HTML

<img id="prevImage"  src=""  alt="" width="313" height="315" />
<input name="photo1" id="photo1" type="file" onchange="setImage(this);"  value="" class="input" size="17"/>

此代码在Safari,Firefox 3,4,5中正常运行但在Google Chrome 12或更高版本以及IE 8,9中无效。

那么请告诉我有关这个问题的任何解决方案吗?

我已经尝试过在本网站上提供的其他解决方案,但它们也无法在所有主流浏览器中使用。

如果您有此代码或全新代码的解决方案,请告诉我。

2 个答案:

答案 0 :(得分:1)

我找到了另一个stack post的完整解决方案,here就是解决方案。

答案 1 :(得分:0)

您现在也可以使用FileReader标准Web API。