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