html5载入本地图片,html5本地存储图片方法

前言

上一篇文件结尾,有同学问我本地存储图片方法,其实本地存储方式有很多,我们打开谷歌浏览器,查看源代码,在resources页签中,有web SQl ,indexedDB等等,我前面文章讲过Localstorage本地存储,我今天简单用Localstorage,简单的写一下存储图片的方法!

思路

我们知道Localstorage只能存储字符串,那么我们可以把图片转换为base64编码的字符串,不就可以存储了吗?

图片编码的数据一般以如下开头

data:image/gif;base64,base64编码的gif图片数据

data:image/png;base64,base64编码的png图片数据

data:image/jpeg;base64,base64编码的jpeg图片数据

data:image/x-icon;base64,base64编码的icon图片数据

关键是如何转换呢?

我们canvas中有个toDataURL()方法,貌似可以转换!拿我们就用这个方法试一试!

存储图片函数书写

function saveImg( key ){

var img = new Image,

canvas = document.createElement("canvas"),

ctx = canvas.getContext("2d"),

src = "http://b.hiphotos.baidu.com/baike/w%3D268%3Bg%3D0/sign=92e00c9b8f5494ee8722081f15ce87c3/29381f30e924b899c83ff41c6d061d950a7bf697.jpg"; // insert image url here

img.crossOrigin = "Anonymous";

img.onload = function() {

canvas.width = img.width;

canvas.height = img.height;

ctx.drawImage( img, 0, 0 );

localStorage.setItem( key, canvas.toDataURL("image/png") );

}

img.src = src;

// make sure the load event fires for cached images too

if ( img.complete || img.complete === undefined ) {

img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==";

img.src = src;

}

}

获取图片函数书写

function get(div,key){//读取get(容器,图片)

var srcStr = localStorage.getItem(key);

var imgObj = document.createElement('img');

imgObj.src = srcStr;

div.appendChild(imgObj);

}

应用

window.onload = function(){

saveImg("savedImageData");

var haoroomsbtn = document.getElementById('haorooms_btn');

var oDiv = document.getElementById('haorooms_div');

haoroomsbtn.onclick = function(){

get(oDiv,"savedImageData");

}

}

案例下载

简单案例上传前端资料库了!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值