问题描述
请求中用于回调的callback-var
参数不是合法的Base64编码。
问题原因
您发送的请求中用于上传回调的callback-var
参数Base64解码出错,导致接口报错。callback-var
参数即URL中的callback-var
参数,或是请求头中的x-oss-callback-var
字段,或是Post请求中名为callback-var
的表单域。该参数是由一段经过Base64编码的JSON字符串,如果服务端对其Base64解码出错,就会导致接口返回该错误。
问题示例
比如您发起了如下请求:
PUT /test.txt HTTP/1.1
Host: callback-test.oss-cn-hanghzou.aliyuncs.com
Content-Length: 4
x-oss-callback-var: x123-*&
x-oss-callback: eyJ4Om1*******vci1jYWxsYmFjay10ZXN==
Date: Sun, 19 Feb 2023 09:42:14 GMT
Content-Type: text/plain
Authorization: OSS qn6q**************:77Dv****************
Test
上述请求中x-oss-callback-var
请求头值为x123-*&
,不是合法的Base64编码,导致接口返回该错误。
解决方案
请确保请求中的callback-var
参数是经过Base64编码的JSON字符串,您可以参考Callback文档构造请求。
相关文档
关于上传回调中的常见错误及错误排查,请参见上传回调错误及排除。
关于基于Post Policy的使用规则在服务端通过各语言SDK代码完成签名,并且设置上传回调,然后通过表单直传数据到OSS的具体操作,请参见服务端签名直传并设置上传回调概述。
关于搭建基于OSS的移动应用数据直传服务并设置上传回调的具体操作,请参见快速搭建移动应用上传回调服务。
文档内容是否对您有帮助?