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

如何使用Genexus向Web Service发送multipart/form-data请求?

测试用有效请求示例

curl --request PUT \
 --url https://api.sandbox.URL_HERE/document-analysis/90471702021 \
 --header 'Accept: application/json' \
 --header 'Authorization: Bearer AUTH_TOKEN' \
 --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
 --header 'api-version: 1.0' \
 --form documentType=RG \
 --form documentSide=FRONT \
 --form 'image=data:image/jpeg;name=RG_Front.jpg;base64,<截断的Base64内容>'

注:上述Base64字符串为适配展示做了截断,不影响逻辑理解。

问题解决方案

Genexus提示行过长是因为默认普通字符串变量的长度上限无法承载1MB图片转换后的完整Base64内容,可通过以下三种方案解决:

  • 优先选择二进制直接上传:无需手动将图片转换为Base64格式,用Binary类型变量加载本地图片文件,直接调用HTTPClient的Multipart表单上传接口传入二进制内容,完全避开Base64超长问题,同时请求体积更小,传输效率更高
  • 更换长文本变量类型:如果接口强制要求必须传入带data:image/xxx;base64,前缀的Base64格式参数,不要用普通Character类型存储Base64内容,改用LongVarChar类型,该类型支持最大2GB的文本存储,不会触发单行长度限制报错
  • 调整运行时配置:如果更换变量类型后仍有报错,可进入Genexus配置项Preferences -> Generators -> 对应运行环境生成器(Java/.NET等) -> Runtime,调大Maximum string length的默认上限值即可

内容的提问来源于stack exchange,提问作者Chicken Choker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 13:18:00