blob/html/input.jsView |
---|
27 | 27 … | |
28 | 28 … | var mimeType = mime(file.name) |
29 | 29 … | var fileName = file.name |
30 | 30 … | |
31 | | - getFileData(file, function(fileData) { |
32 | | - var orientation = 0; |
33 | | - if (mimeType == "image/jpeg") { |
| 31 … | + getFileData(file, function (fileData) { |
| 32 … | + var orientation = 0 |
| 33 … | + if (mimeType === 'image/jpeg') { |
34 | 34 … | try { |
35 | 35 … | orientation = getOrientation(fileData) |
36 | 36 … | |
37 | | - if ((typeof opts.removeExif == 'function' && opts.removeExif()) || |
38 | | - opts.removeExif === true) |
39 | | - fileData = removeExif(fileData, orientation) |
| 37 … | + if ((typeof opts.removeExif === 'function' && opts.removeExif()) || |
| 38 … | + opts.removeExif === true) { fileData = removeExif(fileData, orientation) } |
| 39 … | + } catch (ex) { |
| 40 … | + console.log('exif exception:', ex) |
40 | 41 … | } |
41 | | - catch (ex) |
42 | | - { |
43 | | - console.log("exif exception:", ex) |
44 | | - } |
45 | 42 … | } |
46 | 43 … | |
47 | 44 … | |
48 | 45 … | if (orientation >= 3 || opts.resize) { |
67 | 64 … | next(dataURItoBlob(fileData)) |
68 | 65 … | } |
69 | 66 … | }) |
70 | 67 … | |
71 | | - function dataURItoBlob(dataURI) { |
72 | | - var byteString = atob(dataURI.split(',')[1]); |
| 68 … | + function dataURItoBlob (dataURI) { |
| 69 … | + var byteString = window.atob(dataURI.split(',')[1]) |
73 | 70 … | var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0] |
74 | | - var ab = new ArrayBuffer(byteString.length); |
75 | | - var ia = new Uint8Array(ab); |
| 71 … | + var ab = new ArrayBuffer(byteString.length) |
| 72 … | + var ia = new Uint8Array(ab) |
76 | 73 … | for (var i = 0; i < byteString.length; i++) { |
77 | | - ia[i] = byteString.charCodeAt(i); |
| 74 … | + ia[i] = byteString.charCodeAt(i) |
78 | 75 … | } |
79 | | - return new Blob([ab], {type: mimeString}); |
| 76 … | + return new window.Blob([ab], {type: mimeString}) |
80 | 77 … | } |
81 | 78 … | |
82 | 79 … | function next (file) { |
83 | 80 … | var reader = new global.FileReader() |
136 | 133 … | ctx.drawImage(image, -offsetX, -offsetY, finalWidth, finalHeight) |
137 | 134 … | return canvas |
138 | 135 … | } |
139 | 136 … | |
140 | | -function getFileData(file, cb) |
141 | | -{ |
| 137 … | +function getFileData (file, cb) { |
142 | 138 … | var reader = new global.FileReader() |
143 | 139 … | reader.onload = function (e) { |
144 | 140 … | cb(e.target.result) |
145 | 141 … | } |
147 | 143 … | } |
148 | 144 … | |
149 | 145 … | function removeExif (fileData, orientation) { |
150 | 146 … | var clean = piexif.remove(fileData) |
151 | | - if (orientation != undefined) { |
152 | | - var exifData = { "0th": {} } |
153 | | - exifData["0th"][piexif.ImageIFD.Orientation] = orientation |
| 147 … | + if (orientation !== undefined) { |
| 148 … | + var exifData = { '0th': {} } |
| 149 … | + exifData['0th'][piexif.ImageIFD.Orientation] = orientation |
154 | 150 … | var exifStr = piexif.dump(exifData) |
155 | 151 … | return piexif.insert(exifStr, clean) |
| 152 … | + } else { |
| 153 … | + return clean |
156 | 154 … | } |
157 | | - else |
158 | | - return clean |
159 | 155 … | } |
160 | 156 … | |
161 | 157 … | function getOrientation (fileData) { |
162 | | - var exif = piexif.load(fileData); |
163 | | - return exif["0th"][piexif.ImageIFD.Orientation] |
| 158 … | + var exif = piexif.load(fileData) |
| 159 … | + return exif['0th'][piexif.ImageIFD.Orientation] |
164 | 160 … | } |
165 | 161 … | |
166 | 162 … | function rotate (img, orientation) { |
167 | 163 … | var canvas = document.createElement('canvas') |