Javascript 获取缓存图像的完整文件路径

Javascript 获取缓存图像的完整文件路径,javascript,image,caching,Javascript,Image,Caching,我已经知道了如何预加载图像。我现在想知道的是,是否有任何方法可以使用Javascript获取缓存图像的本地文件路径。您可以结合使用FileReader和sessionStorage。 比如: var input = document.querySelector("#imageInput"); input.addEventListener("change", function(e){ var reader = new FileReader(); reader.onload = fu

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

您可以结合使用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);
这将把你所有的图像都存储在浏览器上,并通过发布和重新加载将它们保存下来。然后,您可以根据需要添加任何逻辑来编辑它们


不幸的是,您无法设置“file”类型的输入,因此需要执行一些UI魔术。

不,这是不可能的。出于好奇,您为什么要这样做?使用输入上载图像文件,稍后使用上载的文件名(服务器上文件的文件路径)重新填充输入值,并在div中显示图像的拇指。更新输入值后,我需要不更改输入(服务器上仍然包含文件路径)以填充缓存图像(需要完整的文件路径)。因为我需要本地文件名才能上传工作。我想使用缓存图像作为占位符来保持初始图像数组的大小。好的。我一直在使用filereader显示要更新的文件的图像。首先,我听说了会话存储。这就是我想要的。非常感谢