You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Word JavaScript API插入图片时的RichAPI.Error错误

Word插件插入图片触发RichApi.Error: GeneralException的解决办法

报错信息

Uncaught (in promise) RichApi.Error: GeneralException
at new n (word-win32-16.01.js:25:246592)
at i.processRequestExecutorResponseMessage (word-win32-16.01.js:25:310758)
at word-win32-16.01.js:25:308821

触发错误的代码

插入图片的核心逻辑:

function insertImage(baseUrl) {
  Word.run(function (context) {
    // 获取当前选中区域
    var selection = context.document.getSelection();
    // 插入图片
    var picture = selection.insertInlinePictureFromBase64(baseUrl, Word.InsertLocation.before);
    // 加载图片对象
    context.load(picture);
    // 同步执行命令
    return context.sync().then(function () {
      console.log("图片插入成功");
    });
  });
}

图片转Base64的工具函数:

function toBase64URL(url, callback) {
  var xhr = new XMLHttpRequest();
  xhr.onload = function() {
      var reader = new FileReader();
      reader.onloadend = function() {
          callback(reader.result);
      }
      reader.readAsDataURL(xhr.response);
  };
  xhr.open('GET', url);
  xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
  xhr.setRequestHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT");
  xhr.setRequestHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
  xhr.setRequestHeader("Access-Control-Allow-Credentials", "true");
  xhr.responseType = 'blob';
  xhr.send();
}

问题原因

尝试更换图片、调整跨域请求头后问题依旧,最终定位到:FileReader.readAsDataURL()返回的结果带有data:*/*;base64,前缀,但Word的insertInlinePictureFromBase64接口仅接受纯Base64编码字符串,不需要该前缀,因此触发通用异常。

修复方案

在插入图片前剥离前缀,使用纯Base64字符串调用接口:

function insertImage(baseUrl) {
  Word.run(function (context) {
    var selection = context.document.getSelection();
    // 剥离data URI前缀,提取纯Base64内容
    var base64Stripped = baseUrl.split(',')[1];
    var picture = selection.insertInlinePictureFromBase64(base64Stripped, Word.InsertLocation.before);
    context.load(picture);
    return context.sync().then(function () {
      console.log("图片插入成功");
    });
  });
}

内容的提问来源于stack exchange,提问作者Milan Gedink

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:06:54