问题描述
请求回调参数Callback中的callbackBodyType部分不合法。
问题原因
您发送的请求中用于上传回调的Callback参数Base64解码后会得到一个JSON结构,如果其中callbackBodyType内的值必须是字符串,否则就会导致接口报错。
callbackBodyType参数表示发起回调请求的Content-Type,仅支持设置为application/x-www-form-urlencoded
和application/json
,默认为前者。
问题示例
比如您的请求中Callback参数解码后得到:
{
"callbackUrl":"www.oss-callback.com/test.php",
"callbackBody":"{\"mimeType\":${mimeType},\"size\":${size}}",
"callbackBodyType":123
}
其中callbackBodyType参数的值是一个数字,而不是字符串,因此接口会返回该错误。
解决方案
请确保CallbackBodyType参数的值是application/x-www-form-urlencoded
或application/json
,的字符串。或者您可以不写该参数,此时默认是application/x-www-form-urlencoded
。
相关文档
关于上传回调中的常见错误及错误排查,请参见上传回调错误及排除。
关于基于Post Policy的使用规则在服务端通过各语言SDK代码完成签名,并且设置上传回调,然后通过表单直传数据到OSS的具体操作,请参见服务端签名直传并设置上传回调概述。
关于搭建基于OSS的移动应用数据直传服务并设置上传回调的具体操作,请参见快速搭建移动应用上传回调服务。
文档内容是否对您有帮助?