Попытка сохранить BLOB-файл в Outlook для MacOS с помощью JavaScript - PullRequest
1 голос
/ 22 апреля 2019

Хорошо, поэтому у меня есть файл Blob, который я пытаюсь сохранить на локальном диске (Blob создается локально из ArrayBuffer). Проблема, с которой я сталкиваюсь, заключается в том, что Outlook для macOS не хочет открывать FileSaverDialog или что-то подобное, чтобы позволить пользователю сохранить файл.

Мой код отлично работает в Outlook для Интернета (OWA) во всех браузерах (включая Safari) и Outlook для Windows.

const blob = new Blob([body]); //body is an ArrayBuffer created locally
const link = document.createElement('a');
if (link.download !== undefined) {
    const url = URL.createObjectURL(blob);
    link.setAttribute('href', url);
    link.setAttribute('download', fileName);
    link.style.visibility = 'hidden';
    document.body.appendChild(link);
    link.click();
    document.body.removeChild(link);
}

PS: Я пытался использовать window.open(blob);, но Outlook для macOS выдает ошибку в этой ситуации: "Нет приложения, настроенного на открытие BLOB-объекта URL: https: // .. . "

PS 2: Я также пытался использовать Office.context.ui.displayDialogAsync(url, { height: 100, width: 100, requireHTTPS: true });, но все еще получал ту же ошибку.

Как мне подсказать SaveFileDialog для пользователя? Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...