• 技术文章 >web前端 >H5教程

    html5实现把上传的图片转成base64编码在显示(代码实例)

    青灯夜游青灯夜游2018-10-08 09:25:36原创5384
    本章给大家介绍html5实现把上传的图片转成base64编码在显示(代码实例)。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。

    首先我们来详细的看一看base64编码

    什么是base64编码?

    Base64是一种网络上最常见的用于传输8Bit字节代码的编码方式,Base64编码可用于在HTTP环境下传递较长的标识信息,同时可以放在url当中使用(采用一种用于URL的改进Base64编码)。因为base64不惧可读性,即所编码的数据不会被人用肉眼所直接看到,所以具有一定的加密功能。

    为什么要把图片转成base64编码?

    将图片转换成base64编码主要是为了用在网页上减少请求次数,我们的网站采用的都是http协议,而http协议是一种无状态的连接,就是连接和传输后都会断开连接节省资源。此时解决的方法就是尽量的减少http请求,此时base64编码可以将图片添加到css中,实现请求css即可下载下来图片,减少了再次请求图片的请求。

    html5如何实现把上传的图片转成base64编码在显示?

    将图片转换成base64需要使用到一个html5的接口:FileReader.readAsDataURL()接口,这个接口可以将文件转换成base64编码格式,并且再以data:URL的形式展现出来
    思路:

    1.创建三个html标签,input用来上传图片,textarea用来显示base64代码,因为base64代码内容很多所以使用textarea标签,p标签用来显示图片。
    2.使用js调用html5的FileReader.readAsDataURL()的API,声明三个变量用于控制图片上传,base64代码显示以及图片的显示。
    3.img_upload.addEventListener('change',readFile,false);添加一个监听事件,如果上传文件发生变化就执行readFile函数。
    4.readFile函数的内容就是调用接口,将图片转换成base64再输出。
    5.在执行转换和输出之前先判断一下上传文件是不是图片。

    代码如下:

    <!Doctype html>
    <html>
    	<head>
    		<meta charset="utf-8" />
    		<title>html5 图片转base64编码</title>
    		<style>
    			* {
    				margin: 0;
    				padding: 0;
    			}
    			.demo{
    				width: 100%;
    				margin: 50px;
    			}
    		</style>
    		<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.onload = function() {
    					base64_code.innerHTML = this.result;
    					//this.result里的这个result是FileReader.readAsDataURL()接口当中转换完图片输出的base64结果存放在result当中
    					img_area.innerHTML = '<div>图片img标签展示:</div><img src="' + this.result + '" alt=""/>';
    				}
    			}
    		</script>
    	</head>
    
    	<body>
    		<div class="demo">
    			<input type="file" id="img_upload" />
    			<textarea id="base64_code" rows="30" cols="100"></textarea>
    			<p id="img_area"></p>
    		</div>
    	</body>
    </html>

    看看效果图:

    2.jpg

    总结:以上就是在HTML5里实现图片转base64编码的全部代码,大家可以自己动手编译试试。

    以上就是html5实现把上传的图片转成base64编码在显示(代码实例)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:base64编码 图片 html5
    上一篇:移动端HTML5模拟长按删除事件(附代码) 下一篇:Canvas引入跨域的图片导致toDataURL()报错的问题的解决
    PHP编程就业班

    相关文章推荐

    • JavaScript实现Base64编码转换_javascript技巧• Data URI scheme详解和使用实例及图片base64编码实现方法_html5教程技巧• html中的图片直接使用base64编码后的字符串代替_HTML/Xhtml_网页制作• Base64编码加密JS代码网页版_javascript技巧

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网