You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/12/12 11:12:23 UTC
openmeetings git commit: [OPENMEETINGS-1784] download as image is
fixed in IE
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 <so...@gmail.com>
Authored: Tue Dec 12 18:12:10 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
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;