天天看点

【OSS对象存储】上传OSS提示callbackfailed问题

业务场景

【OSS对象存储】上传OSS提示callbackfailed问题

1、客户端通过SDK/API接口上传文件给OSS,需要携带callback参数。

接口参考:

https://help.aliyun.com/document_detail/31989.html

注意:目前支持 Callback 的 API 接口有:PutObject、PostObject、CompleteMultipartUpload。

2、文件上传成功后,OSS 向callbackurl 发送回调请求。

3、callbackurl 需要响应 HTTP/1.1 200 OK,body 必须为 JSON 格式,响应头 Content-Length 必须为合法的值,且不超过 3 MB。

4、OSS将返回信息呈现给客户端。

问题:搭建callback回调服务器的时候,上传成功,但是却返回:callbackfailed,提示:Response body is not valid json format类的报错

解决方法:这个报错通常与callback服务器返回的回调body有关系。OSS侧要求callback必须要返回200的状态码以及标准json格式的response body。可以自行通过curl命令模拟post请求进行验证callbackURL的返回内容即可。

curl 模拟post

curl -voa -d 'rrr:fff' + callbackURL

抓包可看出是否返回的json是否标准。需要相应出类似{"Status":"OK"} 这样的JSON信息出来即可。如下是错误的示例

【OSS对象存储】上传OSS提示callbackfailed问题