Repository: openmeetings
Updated Branches:
  refs/heads/4.0.x 34f0d7352 -> 4b30d2398


[OPENMEETINGS-1784] download as image is fixed in IE


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/4b30d239
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/4b30d239
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/4b30d239

Branch: refs/heads/4.0.x
Commit: 4b30d2398255d5ae62ecc853669362d567f98246
Parents: 34f0d73
Author: Maxim Solodovnik <[email protected]>
Authored: Tue Dec 12 18:12:10 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Tue Dec 12 18:12:10 2017 +0700

----------------------------------------------------------------------
 .../apache/openmeetings/web/room/wb/wb-area.js  | 23 +++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4b30d239/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
index 7dadc57..4539086 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
@@ -302,11 +302,24 @@ var DrawWbArea = function() {
                        }));
                } else {
                        const cnv = wb.getCanvas()
-                               , a = document.createElement('a');
-                       a.setAttribute('target', '_blank')
-                       a.setAttribute('download', wb.name + '.' + fmt);
-                       a.setAttribute('href', _getImage(cnv, fmt));
-                       a.dispatchEvent(new MouseEvent('click', {view: window, 
bubbles: false, cancelable: true}));
+                               , dataUri = _getImage(cnv, fmt)
+                               , fName = wb.name + '.' + fmt;
+                       if (typeof window.navigator.msSaveOrOpenBlob !== 
'undefined') {
+                               const byteStr = atob(dataUri.split(',')[1])
+                                       , mime = 
dataUri.split(',')[0].split(':')[1].split(';')[0]
+                                       , ab = new ArrayBuffer(byteStr.length)
+                                       , ia = new Uint8Array(ab);
+                               for (let i = 0; i < byteStr.length; ++i) {
+                                       ia[i] = byteStr.charCodeAt(i);
+                               }
+                               window.navigator.msSaveOrOpenBlob(new 
Blob([ab], {type: mime}), fName);
+                       } else {
+                               const a = document.createElement('a');
+                               a.setAttribute('target', '_blank')
+                               a.setAttribute('download', fName);
+                               a.setAttribute('href', dataUri);
+                               a.dispatchEvent(new MouseEvent('click', {view: 
window, bubbles: false, cancelable: true}));
+                       }
                }
        }
        self.videoStatus = _videoStatus;

Reply via email to