سؤال

أرغب في حفظ صورة ثنائية للمستخدمين LocalHost للرجوع إليها في المستقبل ، ثم في وقت لاحق ، إنشاء Dataurl من هذا الثنائي ، وهي مشكلة ، إنها لا تعمل.

var reader = new FileReader();
reader.onload = function(file){
 this.file = file.target.result;
}.bind(this);
reader.readAsBinaryString(asset);

var reader = new FileReader();
reader.onload = function(image){
 this.image = image.target.result;
}.bind(this);
reader.readAsDataURL(this.file);

قد يبدو هذا أمرًا معاكسًا بعض الشيء ، ولكن يتم وضع بيانات الصورة في LocalStorage ، ثم في وقت لاحق (ربما دقيقة ، ربما أسبوع) أريد أن أكون قادرًا على إنشاء صورة منها.

أيه أفكار؟ شكرًا!

هل كانت مفيدة؟

المحلول

من المحتمل أن يكون من الأسهل قراءته كعنوان URL للبيانات ، وحفظ ذلك في LocalStorage. ومع ذلك ، إذا كنت بحاجة حقًا إلى البيانات الثنائية ، فيمكنك حفظها بشكل منفصل. ثم ، عندما تحتاج إلى إنشاء الصورة ، فقط افعل شيئًا مثل:

var img = document.createElement("img");
img.setAttribute("src", localStorage.imageDataURL);
document.body.appendChild(img);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top