守候你守候我
2019-07-01 15:59:48
如何將圖像保存到本地存儲(chǔ)并顯示在下一頁(yè)?所以,基本上,我需要上傳一個(gè)圖像,保存到localStorage,然后在下一頁(yè)顯示它。目前,我的HTML文件上傳:<input type='file' id="uploadBannerImage" onchange="readURL(this);" />,它使用此函數(shù)在頁(yè)面上顯示圖像。function readURL(input) {
document.getElementById("bannerImg").style.display = "block";
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
document.getElementById('bannerImg').src = e.target.result;
}
reader.readAsDataURL(input.files[0]);
}}該圖像立即顯示在頁(yè)面上,供用戶(hù)查看。然后要求他們填寫(xiě)表格的其余部分。這部分工作很完美。一旦表單完成,他們就按下“保存”按鈕。一旦按下此按鈕,我將所有表單輸入保存為localStorage弦樂(lè)。我需要一種方法也可以將圖像保存為localStorage物品?!氨4妗卑粹o也會(huì)將它們指向一個(gè)新頁(yè)面。這個(gè)新頁(yè)面將在表格中顯示用戶(hù)數(shù)據(jù),圖像位于頂部。簡(jiǎn)單明了,我需要將圖像保存在localStorage一旦按下“保存”按鈕,然后將下一頁(yè)上的圖像從localStorage.我找到了一些解決方案,比如這把小提琴和這篇文章發(fā)表在Moz:/a Hack上。.雖然我仍然非常困惑這是如何工作的,我只需要一個(gè)簡(jiǎn)單的解決方案。基本上,我只需要通過(guò)getElementByID一旦按下“保存”按鈕,然后處理并保存圖像。
3 回答

郎朗坤
TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
getElementByID
localStorage
bannerImage = document.getElementById('bannerImg');imgData = getBase64Image(bannerImage);localStorage.setItem("imgData", imgData);
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,/, "");}
src
<img src="" id="tableBanner" />
localStorage
src
var dataImage = localStorage.getItem('imgData');bannerImg = document.getElementById('tableBanner');bannerImg.src = "data:image/png;base64," + dataImage;

慕標(biāo)5832272
TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
<img data-src="path/to/image"><script> $('img').imageCaching();</script>
添加回答
舉報(bào)
0/150
提交
取消