如何使用filereader

时间:2015-12-30 05:06:25

标签: javascript html

我想预览每个文件输入。我这样有三个文件上传。我想预览这个输入'每个上传预览..我不知道如何使用它。 DOM元素上的函数。谢谢大家。

<div class="app">
          <img id="uploadPreview" style="width: 100px; height: 100px;" />
          <input id="uploadImage" type="file" name="myPhoto" onchange="PreviewImage();" />
</div>

<div class="app">
          <img id="uploadPreview" style="width: 100px; height: 100px;" />
          <input id="uploadImage" type="file" name="myPhoto" onchange="PreviewImage();" />
</div>

<div class="app">
         <img id="uploadPreview" style="width: 100px; height: 100px;" />
         <input id="uploadImage" type="file" name="myPhoto" onchange="PreviewImage();" />
</div>

<script>
function PreviewImage() {
        var oFReader = new FileReader();
        oFReader.readAsDataURL(document.getElementById("uploadImage").files[0]);

        oFReader.onload = function (oFREvent) {
            document.getElementById(this."uploadPreview").src = oFREvent.target.result;
        };
    };
</script>

2 个答案:

答案 0 :(得分:1)

请使用jquery查看示例JS代码:

function readURL(input, img_id) {

    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#'+img_id).attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$(".img-up").change(function(){

    readURL(this, $(this).attr('data-id'));
});

<强> HTML

    <form id="form1" runat="server">
    <input type='file' id="img1" class="img-up" data-id="img_view1" />
    <img id="img_view1" src="#" alt="your image" />

    <input type='file' id="img2" class="img-up" data-id="img_view2" />
    <img id="img_view2" src="#" alt="your image" />
</form>

输入文件data-idimg标记id必须相同。希望你能理解看到这段代码。

答案 1 :(得分:0)

Upload Preview jQuery Plugin

它如何运作?

要访问未上传的数据,我们可以使用HTML5文件阅读器API。这个api提供读取本地文件。这一步非常重要,因为我们需要这些数据才能在浏览器窗口中显示它。要获取有关文件阅读器的更多信息,请阅读offical documentation.