From 41b4b47bdb858702582b1e25d3673a3808cb1392 Mon Sep 17 00:00:00 2001 From: Bruno PIERRE Date: Thu, 29 Mar 2018 14:43:07 +0200 Subject: [PATCH 1/2] Optimisation for thumbnail There is no need to rebuild a data uri. We can use URL.createObjectURL and a Blob. It is faster, and further use of the URL will be too. --- js/load-image-exif.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/js/load-image-exif.js b/js/load-image-exif.js index 72b5e18..c57be4d 100644 --- a/js/load-image-exif.js +++ b/js/load-image-exif.js @@ -43,12 +43,7 @@ console.log('Invalid Exif data: Invalid thumbnail data.') return } - hexData = [] - for (i = 0; i < length; i += 1) { - b = dataView.getUint8(offset + i) - hexData.push((b < 16 ? '0' : '') + b.toString(16)) - } - return 'data:image/jpeg,%' + hexData.join('%') + return URL.createObjectURL(new Blob([dataView.buffer.slice(offset,offset+length)])); } loadImage.exifTagTypes = { From 7114c0b1721cfb791fdc83478e96ab8df50ad026 Mon Sep 17 00:00:00 2001 From: Bruno PIERRE Date: Thu, 29 Mar 2018 14:57:43 +0200 Subject: [PATCH 2/2] use better javascript --- js/load-image-exif.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/js/load-image-exif.js b/js/load-image-exif.js index c57be4d..9cd4bf8 100644 --- a/js/load-image-exif.js +++ b/js/load-image-exif.js @@ -9,7 +9,7 @@ * https://opensource.org/licenses/MIT */ -/* global define */ +/* global define, Blob, URL */ ;(function (factory) { 'use strict' @@ -38,12 +38,11 @@ } loadImage.getExifThumbnail = function (dataView, offset, length) { - var hexData, i, b if (!length || offset + length > dataView.byteLength) { console.log('Invalid Exif data: Invalid thumbnail data.') return } - return URL.createObjectURL(new Blob([dataView.buffer.slice(offset,offset+length)])); + return URL.createObjectURL(new Blob([dataView.buffer.slice(offset, offset + length)])) } loadImage.exifTagTypes = {