0

我已经弄清楚如何预加载图像。我现在想知道的是,是否有任何方法可以使用 Javascript 来获取缓存图像的本地文件路径。

4

1 回答 1

1

您可以结合使用 FileReader 和 sessionStorage。
就像是:

var input = document.querySelector("#imageInput");
input.addEventListener("change", function(e){
    var reader = new FileReader();
    reader.onload = function(evt){
        var newImage = document.createElement("img");
        newImage.src = evt.target.result;
        document.querySelector("body").appendChild(newImage);
        sessionStorage.setItem("image", evt.target.result);
    };
    reader.readAsDataURL(e.target.files[0]);
}, false);

window.addEventListener("load", function(e){
    if(sessionStorage.getItem("image")){
        var newImage = document.createElement("img");
        newImage.src = sessionStorage.getItem("image");
        document.querySelector("body").appendChild(newImage);
    }
}, false);

这会将您的所有图像存储在浏览器上,并通过帖子和重新加载使它们保持不变。然后,您可以根据需要添加任何逻辑来编辑它们。

不幸的是,你不能设置“文件”类型的输入,所以你需要做一些 UI 魔术。

于 2013-06-28T23:49:39.170 回答