天天看點

【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問題