2013-06-28 3 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); 

Это будет хранить все ваши изображения в браузере и они сохраняются через посты и перезагрузки. Затем вы можете добавить любую логику, чтобы редактировать их по мере необходимости.

К сожалению, вы не можете устанавливать входные данные типа «файл», поэтому вам нужно будет сделать магию интерфейса.

+0

O.K. Я использую filereader для отображения изображения файлов, которые нужно обновить. Сначала я слышал о хранилище сеансов. Это то, что я ищу. Большое спасибо – rancho