HTML5页面中图片转成base64编码如何实现
本章给大家介绍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>
看看效果图:
以上就是关于“HTML5页面中图片转成base64编码如何实现”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HTML5页面中图片转成base64编码如何实现
本文地址: https://pptw.com/jishu/654049.html
