html5 本地图片预览

在没有把图片提交到服务器之前,把图片的内容显示在客户端上

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
    <input type="file" accept="image/*" id="img"/>
    <img id="showImg" alt="待显示的图片"/>

    <script>
        window.onload = function() {
            var fileInput = document.getElementById('img');
            fileInput.addEventListener('change', function(e) {
                // 获取files
                var files = e.target.files;
                // 获取单个file
                if (files && files.length) {
                    var file = files[0];
                    // 通过 window.URL 工具从 file 对象生成一个可用的 URL
                    var URL = window.URL || window.webkitURL;
                    var imgURL = URL.createObjectURL(file);
                    // 显示
                    document.getElementById('showImg').src = imgURL;

                    setTimeout(function() {
                        // 使用下面这句可以在内存中释放对此 url 的伺服
                        URL.revokeObjectURL(imgURL);
                        // 再次设置无效!
                        document.getElementById('showImg').src = imgURL;
                    }, 1000);
                }
            });
        }
    </script>
</body>
</html>

调用 URL.createObjectURL 的时候,浏览器自动在内存中开辟空间,用于伺服这个 URL,也就是使得这个 URL 可以请求成功;

参考资料:

http://www.huangwenchao.com.cn/2015/03/html5-image-preview.html


文章若有纰漏请大家补充指正,谢谢~~

http://blog.xinshangshangxin.com SHANG殇

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值