Попытка сохранить большой двоичный файл в Outlook для macOS с помощью javascript

#javascript #macos #outlook #outlook-addin #office-js

#javascript #macos #outlook #outlook-добавление #office-js

Вопрос:

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

Мой код отлично работает в Outlook для Web (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 выдает ошибку в этой ситуации: «Нет приложения, настроенного для открытия большого двоичного объекта URL: https: // …»

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

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

РЕДАКТИРОВАТЬ Microsoft, похоже, работает над исправлением для этого