Я создал функцию, которая сохраняет DataURI изображения в локальном хранилище.
Данные отлично хранятся в локальном хранилище, но если я попытаюсь получить значение из функции, т.е. оператора возврата, я получу «неопределенное» значение. Вероятно, функция возвращает значение еще до преобразования в dataURL.
Нужна ваша помощь.
Вот мой код:
function getImageDataURL(local_name,w,h,i){
var data, canvas, ctx;
var img = new Image();
img.onload = function(){
canvas = document.createElement('canvas');
canvas.width = w;
canvas.height = h;
ctx = canvas.getContext("2d");
ctx.drawImage(img,0,0,w,h);
try{
data = canvas.toDataURL("image/png");
localStorage.setItem(local_name,data);
}catch(e){
console.log("error "+e)
}
}
try{
img.src = i;
}catch(e){}
return data;
}