send download file message to safari app
This commit is contained in:
parent
0e798c610e
commit
dd2aae12dd
|
@ -1,5 +1,7 @@
|
||||||
import { SafariApp } from './safariApp';
|
import { SafariApp } from './safariApp';
|
||||||
|
|
||||||
|
import { Utils } from 'jslib/misc/utils';
|
||||||
|
|
||||||
export class BrowserApi {
|
export class BrowserApi {
|
||||||
static isWebExtensionsApi: boolean = (typeof browser !== 'undefined');
|
static isWebExtensionsApi: boolean = (typeof browser !== 'undefined');
|
||||||
static isSafariApi: boolean = (window as any).safariAppExtension === true;
|
static isSafariApi: boolean = (window as any).safariAppExtension === true;
|
||||||
|
@ -178,7 +180,18 @@ export class BrowserApi {
|
||||||
|
|
||||||
static downloadFile(win: Window, blobData: any, blobOptions: any, fileName: string) {
|
static downloadFile(win: Window, blobData: any, blobOptions: any, fileName: string) {
|
||||||
if (BrowserApi.isSafariApi) {
|
if (BrowserApi.isSafariApi) {
|
||||||
// TODO
|
const type = blobOptions != null ? blobOptions.type : null;
|
||||||
|
let data: string = null;
|
||||||
|
if (type === 'text/plain' && typeof (blobData) === 'string') {
|
||||||
|
data = blobData;
|
||||||
|
} else {
|
||||||
|
data = Utils.fromBufferToB64(blobData);
|
||||||
|
}
|
||||||
|
SafariApp.sendMessageToApp('downloadFile', {
|
||||||
|
data: data,
|
||||||
|
type: type,
|
||||||
|
fileName: fileName,
|
||||||
|
}, true);
|
||||||
} else {
|
} else {
|
||||||
const blob = new Blob([blobData], blobOptions);
|
const blob = new Blob([blobData], blobOptions);
|
||||||
if (navigator.msSaveOrOpenBlob) {
|
if (navigator.msSaveOrOpenBlob) {
|
||||||
|
|
Loading…
Reference in New Issue