尝试使用JavaScript在Outlook for macOS中保存Blob文件

时间:2019-04-22 18:20:51

标签: javascript macos outlook outlook-addin office-js

好,所以我有一个要保存在本地磁盘上的Blob文件(Blob是从ArrayBuffer本地创建的)。我面临的问题是Outlook for macOS不想打开FileSaverDialog或类似的东西来让用户保存文件。

我的代码在所有浏览器(包括Safari)和Windows版Outlook的Outlook for Web(OWA)中都能正常运行。

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 for macOS引发错误:“没有设置打开URL blob的应用程序:https:/ /...”

PS 2:我也尝试使用Office.context.ui.displayDialogAsync(url, { height: 100, width: 100, requireHTTPS: true });,但仍然遇到相同的错误。

我应该如何提示用户一个SaveFileDialog?预先谢谢你

0 个答案:

没有答案