У меня возникли проблемы с поиском, как именно я хотел бы сохранить загруженное изображение в localStorage, введенное пользователем на моей странице параметров. Существует слишком много документации о том, как это сделать, потому что на некоторое время это был known error, и я не мог найти никаких примеров на Stack. Есть несколько примеров того, как сохранить изображение уже на странице, но ничего на введенном изображении.Сохранение загруженного изображения на localStorage (расширение chrome)
Все, что у меня есть, это HTML, но я полагаю, что javascript, работающий в спине, должен получить доступ к значению ввода или что-то (?).
<input id="uploadImage" type="file" accept="image/*" />
Затем после того, как пользователь выбирает файл, значение ввода является C:\fakepath\some_image.jpg
. Я не хочу хранить путь к файлу, но, если возможно, сохраняю фактическое изображение.
$("#uploadImage").change(function(){
alert($("#uploadImage").val());
});
EDIT:
Я нашел пример о том, как это сделать из this stack topic, но FilePath, что я получаю от $("#uploadImage").val()
не работает (Так что я не знаю, если этот метод работы работа, даже если путь_к_файлу было действительный)
var img = new Image();
img.src = $("#uploadImage").val();
img.load = function() {
var canvas = document.createElement('canvas');
document.body.appendChild(canvas);
var context = canvas.getContext('2d');
context.drawImage(img, 0, 0);
var data = context.getImageData(x, y, img.width, img.height).data;
localStorage['uploadedImage'] = data; // save image data
};
Так что после этого я в замешательстве. Вы храните данные изображения в виде строки в localStorage (правильно?). Затем, чтобы создать образ (и для моей цели, установите его как фон), он будет выглядеть как '$ ('body'). Css ({" background ": localStorage ['foo']});' – Jordan
@Jordan Обновленный мой ответ, не успел проверить его, дайте мне знать, если у вас все еще есть проблемы. –
Большое спасибо! Это было не все, что мне нужно, но вы дали мне рабочий пример, и я смог уйти оттуда – Jordan