Хорошо, поэтому у меня есть файл 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
для пользователя? Заранее спасибо