保存的图片变成HTML Document,javascript – 将文件图像保存到localstorage HTML

您只需缺少FileReader即可将输入文件读取到dataURL.

Jsfiddle

HTML:

JavaScript的:

// Get all variables

var bannerImage = document.getElementById('bannerImg');

var result = document.getElementById('res');

var img = document.getElementById('tableBanner');

// Add a change listener to the file input to inspect the uploaded file.

bannerImage.addEventListener('change', function() {

var file = this.files[0];

// Basic type checking.

if (file.type.indexOf('image') < 0) {

res.innerHTML = 'invalid type';

return;

}

// Create a file reader

var fReader = new FileReader();

// Add complete behavior

fReader.onload = function() {

// Show the uploaded image to banner.

img.src = fReader.result;

// Save it when data complete.

// Use your function will ensure the format is png.

localStorage.setItem("imgData", getBase64Image(img));

// You can just use as its already a string.

// localStorage.setItem("imgData", fReader.result);

};

// Read the file to DataURL format.

fReader.readAsDataURL(file);

});

function getBase64Image(img) {

var canvas = document.createElement("canvas");

canvas.width = img.width;

canvas.height = img.height;

var ctx = canvas.getContext("2d");

ctx.drawImage(img, 0, 0);

var dataURL = canvas.toDataURL("image/png");

return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");

}

function fetchimage () {

var dataImage = localStorage.getItem('imgData');

img.src = "data:image/png;base64," + dataImage;

// If you don't process the url with getBase64Image, you can just use

// img.src = dataImage;

}

// Call fetch to get image from localStorage.

// So each time you reload the page, the image in localstorage will be

// put on tableBanner

fetchimage();

并不是说jsfiddle执行这个脚本onload,所以你可以将它们包装在你自己站点的window.onload中.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
LocalStorageHTML5中的一个新特性,它提供了一种在浏览器中存储数据的方法,数据存储在用户的本地计算机上,即使关闭浏览器,数据也不会丢失。在HTML5中,可以使用localStorage对象来访问和操作LocalStorage。 下面是保存数据到LocalStorage的步骤: 1.创建一个localStorage对象: ```javascript var storage = window.localStorage; ``` 2.使用setItem方法将数据保存LocalStorage中: ```javascript storage.setItem("key", "value"); ``` 其中,key是要保存的数据的键,value是要保存的数据的值。 3.使用getItem方法从LocalStorage中获取保存的数据: ```javascript var value = storage.getItem("key"); ``` 其中,key是要获取的数据的键。 4.使用removeItem方法从LocalStorage中删除保存的数据: ```javascript storage.removeItem("key"); ``` 其中,key是要删除的数据的键。 完整的代码示例: ```javascript // 创建一个localStorage对象 var storage = window.localStorage; // 保存数据到LocalStorage中 storage.setItem("username", "Tom"); // 从LocalStorage中获取保存的数据 var username = storage.getItem("username"); console.log(username); // 输出:Tom // 从LocalStorage中删除保存的数据 storage.removeItem("username"); ``` 注意事项: 1. localStorage只能存储字符串类型的数据,如果要存储其他类型的数据,需要先将其转换为字符串类型。 2. localStorage的存储容量有限,不同浏览器的容量也不同,一般为5-10MB左右。如果数据量较大,建议使用其他存储方式,如IndexedDB或Web SQL。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值