aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/src/exif.js
diff options
context:
space:
mode:
authorMatthew Somerville <matthew-github@dracos.co.uk>2016-09-05 17:32:32 +0100
committerMatthew Somerville <matthew-github@dracos.co.uk>2016-09-05 17:32:32 +0100
commitbe222799290cff46503a085cc28183695f4cbb3d (patch)
tree8651c67d7b00b4247a6eba6d14846e8d6758d026 /web/js/src/exif.js
parente701d77a73766541f41697a84bd034fe4a92a186 (diff)
parent7684ee064c717722003e920baed08d0230eb0d9e (diff)
Merge branch 'photo-preview-fix'
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);