怎么把图片转换html编写码,如何实现html5把上传的图片转成base64编码在显示

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

发布时间:2020-07-10 10:29:01

来源:亿速云

阅读:379

作者:Leah

这篇文章将为大家详细讲解有关如何实现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.在执行转换和输出之前先判断一下上传文件是不是图片。

代码如下:

html5 图片转base64编码

* {

margin: 0;

padding: 0;

}

.demo{

width: 100%;

margin: 50px;

}

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 = '

图片img标签展示:
';

}

}

看看效果图:

1213f6c676f54fa626e16959364432ab.png

关于如何实现html5把上传的图片转成base64编码在显示就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值