欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

html5将图片转换成base64代码

程序员文章站 2022-04-09 09:15:18
...

参考链接:https://www.jianshu.com/p/90fc1f9042a8

  • 优点:可以减少http请求,具有一定的加密功能。
  • 缺点:图片编码化base64的时候大小会变大,但是通过gzip优化以后基本差不多
  • 所以在应用的过程当中较小的图片可以直接编码成base64,较大的图片则不建议如此使用。

h5的接口FileReader.readAsDataURL(),这个接口可以将文件转换成base64编码格式,并且再以data:URL的形式展现出来。

示例:

<!Doctype html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>html5 image to base64</title>
    </head>
    <body>
        <script type="text/javascript">
        window.onload = function(){ 
        // 抓取上传图片,转换代码结果,显示图片的dom
        var img_upload=document.getElementById("img_upload");
        var base64_code=document.getElementById("base64_code");
        var img_area=document.getElementById("img_area");
        // 添加功能出发监听事件
        img_upload.addEventListener('change',readFile,false);}
        function readFile(){
            var file=this.files[0];
            if(!/image\/\w+/.test(file.type)){ 
                alert("请确保文件为图像类型"); 
                return false; 
            }
            var reader=new FileReader();
            reader.readAsDataURL(file);
            reader.function(){
                base64_code.innerHTML = this.result; 
                img_area.innerHTML = '<div>图片img标签展示:</div><img src="'+this.result+'" alt=""/>'; 
            }
        }
        </script>
        <input type="file" id="img_upload"/>
        <textarea id="base64_code" rows="30" cols="360"></textarea>
        <p id="img_area"></p>
    </body>
</html>

```