无法将base64数据插入带有Office Word加载项的Word中

时间:2017-11-16 12:23:15

标签: ms-word office-js

我正在尝试使用insertFileFromBase64()插入格式为Base64的文件,但我收到此异常:

{
    "name": "OfficeExtension.Error",
    "code": "GeneralException",
    "message": "ooxmlIsMalformated",
    "traceMessages": [],
    "innerError": null,
    "debugInfo": {
        "code": "GeneralException",
        "message": "ooxmlIsMalformated",
        "errorLocation": "Body.insertFileFromBase64"
    }
}

我的代码是:

// documentData - is a base64 string.
// Encoded base64 string = "V29yZCBEb2N1bWVudCBpcyBub3QgZ2V0IGluc2VydGVkIHVzaW5nIGluc2VydEZpbGVCYXNlNjQ="
body.insertFileFromBase64(documentData,window.Word.InsertLocation.replace);

我已尝试过其他可用的HTML和文字方法,但使用insertFileFromBase64获取例外。

如果我在这里遗漏任何东西,有人可以指导我吗?

1 个答案:

答案 0 :(得分:0)

documentation开始,.docx参数采用“.docx文件的base64编码内容。”

您传递的字符串不是编码的#include <stdio.h> int main() { printf("\"Hello World\" "); return 0; } ,它只是一个编码字符串。您获得的例外是正确的,您传递的的OOXML 格式不正确(或者更确切地说,它根本不是OOXML)。

您需要传入一个已经过Base64编码的正确OOXML文档才能使用此方法。