微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 将图像存储在localStorage中

我尝试使用Ajax请求在localStorage中存储图像.

<!DOCTYPE html>
<html>
    <head>
        <title>test</title>
        <script type="text/javascript">
            window.onload = function() {
                var xmlhttp;
                if (window.XMLHttpRequest) {// code for IE7+,Firefox,Chrome,Opera,Safari
                    xmlhttp = new XMLHttpRequest();
                }
                else {// code for IE6,IE5
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange=function() {
                    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
                        var storedImage;
                        if (localStorage.getItem('imgtest')) {
                            storedImage = localStorage.getItem('imgtest');
                            alert("get");
                        }
                        else {
                            storedImage = xmlhttp.responseText;
                            localStorage.setItem('imgtest',storedImage);
                            alert("set");
                        }
                        document.getElementById("test").style.backgroundImage = 'data:image/png;base64,' + storedImage;
                    }
                }
                xmlhttp.open("GET","img.png");
                xmlhttp.setRequestHeader("Content-type","image/png");
                xmlhttp.send();
            }
        </script>
    </head>
    <body>
        <div id="test" style="width: 100px; height: 100px;"></div>
    </body>
</html>

我可以存储流,但不显示图像.

也许是因为我的编码,我不知道.
你能告诉我我做错了什么或者有更好的方法吗?

解决方法

@H_502_19@ 您是否尝试过像这样的url():

document.getElementById(“test”).style.backgroundImage =’url(data:image / png; base64,’storedImage’)’;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐