0
我已經想出瞭如何預加載圖像。我現在想知道的是,是否有任何方式使用Javascript來獲取緩存圖像的本地文件路徑。獲取緩存圖像的完整文件路徑
我已經想出瞭如何預加載圖像。我現在想知道的是,是否有任何方式使用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);
這將所有的圖片存儲在瀏覽器上,讓他們通過職位和重載堅持。然後,您可以添加任何邏輯來根據需要進行編輯。
不幸的是,你不能設置類型「文件」的輸入,所以你需要做一些UI魔術。
O.K.我一直在使用filereader來顯示要更新的文件的圖像。首先,我聽說過會話存儲。這是我正在尋找的。非常感謝 – rancho
不,這是不可能的。出於好奇,你爲什麼要這樣做? – Joe
使用輸入上傳圖像文件,稍後使用上傳的文件名(服務器上的文件的文件路徑)和div中顯示的圖像的拇指重新填充值。在對輸入值進行更新後,我需要輸入未被更改(仍然包含服務器上的文件路徑)以填充緩存的映像(需要完整的文件路徑)。因爲我需要本地文件名才能上傳。我想使用緩存的圖像作爲佔位符來保持初始圖像數組的大小。 – rancho