Word JS Api在OfficeOnline中仅在insertFileFromBase64上抛出“ RichApi.Error:无法读取null的属性'ha'”

问题描述 投票:-1回答:1

当在线中使用单词调用insertFileFromBase64(内部版本16.0.12719.32656)时,尝试插入某些文档时将引发以下错误:

完整错误对象:“ RichApi.Error:无法读取null的属性'ha'在新的c(https://appsforoffice.microsoft.com/lib/1/hosted/word-web-16.00.js:24:293287)在b.f.processRequestExecutorResponseMessage(https://appsforoffice.microsoft.com/lib/1/hosted/word-web-16.00.js:24:353940)在https://appsforoffice.microsoft.com/lib/1/hosted/word-web-16.00.js:24:352045”。

插入了文档的实际内容,但是随后对insertFileFromBase64的任何调用都会引发“浏览器中的Word不支持该操作,并且未插入文档内容。

可以在任何word桌面客户端中使用相同的逻辑插入相同的文档。

我想知道在线单词中有什么不同之处可能导致引发此错误,应如何处理以防止以后的调用无法插入文档内容?

这是我用来插入文档的代码:

Word.run(async (context: Word.RequestContext) => {
        const sections = context.document.sections;
        sections.load();
        await context.sync();
        sections.items.forEach(function(section) {
          // Clear the Body.
          section.body.clear();

          // Clear any Headers.
          section.getHeader('Primary').clear();
          section.getHeader('FirstPage').clear();
          section.getHeader('EvenPages').clear();

          // Clear any Footers.
          section.getFooter('Primary').clear();
          section.getFooter('FirstPage').clear();
          section.getFooter('EvenPages').clear();
        });
        await context.sync();
        context.document.body.insertFileFromBase64(base64EncodedDocument, 'Start');
        return context.sync();
      }).catch(e => {
        console.log(e.message);
      });

以下是在在线插入Office时引发此错误的文档示例:https://www.dropbox.com/s/k25ppswzxanb7ez/ASP%20clauses%20non%20admin%20test.docx?dl=0

这里是完整的e.debugInfo对象:e.debugInfo

office-js
1个回答
0
投票

我们现在不支持ExcelOnline上的所有ContentControl。并且,如果文档中存在不受支持的ContentControl,我们将阻止base64操作中的后一个插入文件。这就是为什么您不能执行后续的insertFileFromBase64的原因,错误消息是预期的错误消息。我们可能会逐渐支持更多的ContentControl类型,但我还没有明确的日期。

而且关于无法读取null的属性'ha'为null是不正确的,我们来看一下,但是到目前为止,它似乎并不影响后面的API调用,并且与您为什么要这么做的问题无关如上文所述,无法执行后续的insertFileFromBase64。

感谢您为我们报告此问题,不便之处,敬请原谅。如果您还有其他问题,请告诉我们。

© www.soinside.com 2019 - 2024. All rights reserved.