#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, похоже, работает над исправлением для этого