首页
读书
网课

正文


代码中已有注释 一个是转blob格式的图片 一个是转base64格式的图片
githubDemo => https://github.com/LanHai1/file-Preview-picture

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title></head><body>
    <label for="file">
        <img src="sc.jpg" alt="">
    </label>
    <input type="file" name="" id="file" style="display: none">
    <!-- 渲染图片img -->
    <label for="file">
        <img src="2.jpg" id="img" alt="">
    </label></body></html>

  <!-- 图片为blob编码格式 -->
    <script>
        window.onload = function() {
            // 获取input:file标签
            let file = document.querySelector("input[type=file]");
            // 注册改变事件
            file.onchange = () => {
                // 获取里面上传的内容 -> 返回的是一个伪数组
                let fileData = file.files[0];
                // window.URL 有兼容问题
                // 兼容代码
                const windowURL = window.URL || window.webkitURL;
                // window.URL.createObjectURL 会根据传入的参数创建一个指向该参数对象的URL
                let imgSrc = windowURL.createObjectURL(fileData);
                // 设置imgsrc
                document.querySelector("#img").setAttribute("src", imgSrc)
            };
        }    </script>

    <!-- 图片为base64编码格式 -->
    <script>
        let file = document.querySelector("input[type=file]");
        file.onchange = () => {
            //获取input file的files文件数组;
            var fileData = file.files[0];
            //创建用来读取此文件的对象
            var reader = new FileReader();
            //使用该对象读取file文件
            reader.readAsDataURL(fileData);
            //读取文件成功后执行的方法函数
            reader.onload = function(e) {
                //读取成功后返回的一个参数e,整个的一个进度事件
                console.log(e);
                //选择所要显示图片的img,要赋值给img的src就是e中target下result里面
                //的base64编码格式的地址
                document.querySelector("#img").setAttribute("src", e.target.result)
            }
        }    </script>



作者:蓝海00
链接:https://www.jianshu.com/p/551354f9bae5
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



上一篇: 没有了
下一篇: 没有了
圣贤书院