js读取input[type=file]图片,并实时预览

之前为了实现input[type=file]选择图片后实时展示图片,是把图片上传后,后端返回路径再显示
感觉多此一举,这样的方法实在太笨了,也太慢了,也就摸索出另一种方法 FileReader

帮助文档

#html

<input type="file" id="file"/>
<img src="" id="img"/>
<p id="text"></p>

#js

<script>
    document.querySelector('#file').onchange = function (){
      if(this.files.length){
        let file = this.files[0];
        let reader = new FileReader();
        //新建 FileReader 对象
        reader.onload = function(){
          // 当 FileReader 读取文件时候,读取的结果会放在 FileReader.result 属性中
          document.querySelector('#img').src = this.result;
          document.querySelector('#text').innerHTML = this.result;
        };
        // 设置以什么方式读取文件,这里以base64方式
        reader.readAsDataURL(file);
       }
    }
</script>

参考:https://blog.csdn.net/qq_38789941/article/details/95309081

posted @ 2020-08-28 18:22  makalo  阅读(1387)  评论(0编辑  收藏  举报