Outlook 2016 Desktop Client-保存文件不起作用

时间:2019-09-30 12:05:34

标签: blob outlook-addin filesaver.js outlook-2016

我有一个addin,它调用REST API并以BLOB格式下载文件。

我正在使用FileSaver库将文件保存在本地PC中。

尽管一切正常,在chrome,Edge和IE11浏览器中的Outlook 365中都可以正常工作。 Outlook Desktop Client没有提供保存文件的选项。实际上,在调试时,我尝试查找一些错误,但没有发现任何错误。所有代码都可以在Outlook Desktop Client上正常工作。

我想知道任务窗格是否使用IE浏览器,它应该支持filesave.saveAs方法。

我也尝试使用链接

      //   const link = window.document.createElement('a');
      //   this.error = `linke = ${link}`
      //   link.href = window.URL.createObjectURL(blob);
      //   this.error = `href = ${link.href}`;
      //   this.error = link.href;
      //   link.download = this.finalName;
      //   link.click();

它在Outlook Desktop Client上也不起作用,并且在浏览器版本中可以正常工作。

我现在正在使用的代码如下:

    /**
    Angular HttpClient is used to call a rest api which returns a blob.
    which is passed to saveAs function to save the file.
    **/

    this.dsService.processAttachmentDownload(attachmentId, storageId)
    .subscribe(data => {

      const blob = new Blob([data], { type: 'application/octet-stream' });
      saveAs(blob, this.finalName);


    });

1 个答案:

答案 0 :(得分:0)

我认为问题在于您正在以blob格式下载文件。 Windows 32位或Mac上的加载项不支持此功能。但是,this post已链接到使用FileSaver的项目,并且应该能够提供帮助。另外,您能够使用office-js标记此问题吗?这将帮助其他有识之士找到这个问题并提供帮助。