aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/src/exif.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/js/src/exif.js')
-rw-r--r--web/js/src/exif.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/web/js/src/exif.js b/web/js/src/exif.js
index 3a2c7e1c3..f27be8ecb 100644
--- a/web/js/src/exif.js
+++ b/web/js/src/exif.js
@@ -55,7 +55,19 @@
return false;
}
- var base64 = img.src.replace(/^data\:([^\;]+)\;base64,/gmi, '');
+ var data = img.src;
+ if (data.match(/^http/)) {
+ // We're loading this image from the server, presumably after a
+ // submission, so we have its URL, not yet its data.
+ var canvas = document.createElement("canvas"),
+ ctx = canvas.getContext("2d");
+ canvas.width = img.width;
+ canvas.height = img.height;
+ ctx.drawImage(img, 0, 0);
+ data = canvas.toDataURL("image/jpeg");
+ }
+
+ var base64 = data.replace(/^data\:([^\;]+)\;base64,/gmi, '');
var binary = atob(base64);
var len = binary.length;
var file = new ArrayBuffer(len);