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

在Google Appscript中将二进制docx数据转换为有效Base64字符串

Google Apps Script 中docx二进制数据转Base64的可行方案

失效原因

你当前使用的代码返回短无效字符串的核心原因是:Utilities.base64Encode() 方法直接传入原始二进制字符串时,Google Apps Script会默认按UTF-8编码解析输入内容。docx属于二进制格式,包含大量非UTF-8合规的字节,会被识别为无效字符直接截断,最终输出的编码结果自然不可用。

正确实现步骤

需要先将原始二进制数据封装为Blob对象,再提取字节数组传入编码方法,避免编码解析异常,代码示例如下:

function run() { 
  var inputData = Eventbus.get('encodedData'); // 接收二进制输入数据
  // 封装为指定MIME类型的Blob,避免格式识别错误
  var docxBlob = Utilities.newBlob(
    inputData, 
    'application/vnd.openxmlformats-officedocument.wordprocessingml.document'
  );
  // 传入字节数组完成Base64编码
  var convertedData = Utilities.base64Encode(docxBlob.getBytes());
  Eventbus.set('decodedData', convertedData);
}

补充说明

  • 如果需要生成可直接用于前端下载、预览的Data URI格式,可在编码结果前拼接前缀:
    var dataUri = 'data:application/vnd.openxmlformats-officedocument.wordprocessingml.document;base64,' + convertedData
    
  • 正常转换后的Base64字符串长度约为原docx文件大小的4/3,可通过长度判断转换是否成功。

内容的提问来源于stack exchange,提问作者Saurabh Kulkarni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:06:01