2013-06-28 124 views
0

我已經想出瞭如何預加載圖像。我現在想知道的是,是否有任何方式使用Javascript來獲取緩存圖像的本地文件路徑。獲取緩存圖像的完整文件路徑

+3

不,這是不可能的。出於好奇,你爲什麼要這樣做? – Joe

+0

使用輸入上傳圖像文件,稍後使用上傳的文件名(服務器上的文件的文件路徑)和div中顯示的圖像的拇指重新填充值。在對輸入值進行更新後,我需要輸入未被更改(仍然包含服務器上的文件路徑)以填充緩存的映像(需要完整的文件路徑)。因爲我需要本地文件名才能上傳。我想使用緩存的圖像作爲佔位符來保持初始圖像數組的大小。 – rancho

回答

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魔術。

+0

O.K.我一直在使用filereader來顯示要更新的文件的圖像。首先,我聽說過會話存儲。這是我正在尋找的。非常感謝 – rancho

相關問題