Use object URLs to load Files in to images

Fixes https://github.com/vector-im/riot-web/issues/5326
pull/21833/head
David Baker 2017-10-19 17:16:52 +01:00
parent 0f4ca1992d
commit b74ad8634b
1 changed files with 7 additions and 13 deletions

View File

@ -99,23 +99,17 @@ function loadImageElement(imageFile) {
// Load the file into an html element // Load the file into an html element
const img = document.createElement("img"); const img = document.createElement("img");
const objectUrl = URL.createObjectURL(imageFile);
img.src = objectUrl;
const reader = new FileReader(); // Once ready, create a thumbnail
reader.onload = function(e) { img.onload = function() {
img.src = e.target.result; URL.revokeObjectURL(objectUrl);
deferred.resolve(img);
// Once ready, create a thumbnail
img.onload = function() {
deferred.resolve(img);
};
img.onerror = function(e) {
deferred.reject(e);
};
}; };
reader.onerror = function(e) { img.onerror = function(e) {
deferred.reject(e); deferred.reject(e);
}; };
reader.readAsDataURL(imageFile);
return deferred.promise; return deferred.promise;
} }