From bc2956f5adce49e559227a1c6dec5002f94887e6 Mon Sep 17 00:00:00 2001 From: RobinLinus Date: Thu, 11 Oct 2018 00:31:07 +0200 Subject: [PATCH] iOS: More fallback tests --- client/scripts/network.js | 7 ++++--- client/scripts/ui.js | 8 +++++++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/client/scripts/network.js b/client/scripts/network.js index 7c17ee6..8f2280c 100644 --- a/client/scripts/network.js +++ b/client/scripts/network.js @@ -480,13 +480,14 @@ class FileDigester { this.progress = this._bytesReceived / this._size; if (this._bytesReceived < this._size) return; // we are done - let received = new Blob(this._buffer, { type: this._mime }); - let url = URL.createObjectURL(received); + let blob = new Blob(this._buffer, { type: this._mime }); + let url = URL.createObjectURL(blob); this._callback({ name: this._name, mime: this._mime, size: this._size, - url: url + url: url, + blob: blob }); } diff --git a/client/scripts/ui.js b/client/scripts/ui.js index 636ba96..14a266b 100644 --- a/client/scripts/ui.js +++ b/client/scripts/ui.js @@ -238,7 +238,13 @@ class ReceiveDialog extends Dialog { this.show(); if (window.isDownloadSupported) return; - $a.target = "_blank"; // fallback + // fallback for iOS + $a.href = null; + let reader = new FileReader(); + reader.onload = e => { + $a.onclick = window.open(reader.result,'_blank'); + } + reader.readAsDataURL(file.blob); } _formatFileSize(bytes) {