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

Retool上传txt文件到GCS出现atob解码错误如何解决?

Retool生成TXT文件上传GCS atob编码报错解决方案

报错根因

该报错是因为Retool的GCS上传查询要求传入Base64编码的文件内容,你直接传入了纯文本字符串,触发atob解码逻辑时无法识别非Base64格式的输入,导致报错。

解决步骤

  • 先将原始纯文本内容转成UTF-8编码的Base64字符串,Retool内置了工具方法可以直接调用,无需额外引入依赖:
    假设你的原始内容存储在变量rawFruitContent中,值为:
    Lemon
    Banana
    Pineapple
    
    转换代码为:
    utils.arrayBufferToBase64(new TextEncoder().encode(rawFruitContent))
  • 将转换得到的Base64字符串填入GCS上传查询的「Upload Body(上传内容)」字段,不要直接填写原始纯文本。

配置校验项

执行上传前确认以下配置正确,避免出现换行丢失、乱码问题:

  • GCS查询操作类型选择Upload file
  • Content-Type字段填写text/plain; charset=utf-8
  • 若GCS查询配置页存在「Encode upload body」开关,需保持关闭状态,避免二次编码导致内容异常。

完整测试用例

你可以直接用以下代码在Retool的临时状态/JS查询中运行测试,确认输出内容符合要求:

// 原始待上传内容,保留原生换行
const rawFruitContent = `Lemon
Banana
Pineapple`
// 转换为GCS上传要求的Base64格式
const uploadContent = utils.arrayBufferToBase64(new TextEncoder().encode(rawFruitContent))
// 将uploadContent作为参数传入GCS上传查询触发即可

配置完成后触发上传,生成的TXT文件会完整保留原始换行,每行对应一个水果名称。

内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:45:04