問題描述
請求中用於回調的Callback參數不是合法的Base64編碼。
問題原因
您發送的請求中用於上傳回調的Callback參數Base64解碼出錯,導致介面報錯。Callback參數即URL中的callback參數,或是要求標頭中的x-oss-callback欄位,或是Post請求中名為callback的表單域。該參數是由一段經過Base64編碼的JSON字串,如果服務端對其Base64解碼出錯,就會導致介面返回該錯誤。
問題樣本
比如您發起了如下請求:
PUT /test.txt HTTP/1.1
Host: callback-test.oss-cn-hanghzou.aliyuncs.com
Content-Length: 4
x-oss-callback-var: eyJ4Om15X3ZhciI6ImZvci1jYWxsYmFjay10ZXN****=
x-oss-callback: x123-*&
Date: Sun, 19 Feb 2023 09:42:14 GMT
Content-Type: text/plain
Authorization: OSS qn6q**************:77Dv****************
Test上述請求中x-oss-callback要求標頭值為x123-*&,不是合法的Base64編碼,導致介面返回該錯誤。
解決方案
請確保請求中的Callback參數是經過Base64編碼的JSON字串,您可以參考Callback文檔構造請求。
相關文檔
關於上傳回調中的常見錯誤及錯誤排查,請參見上傳回調錯誤及排除。
關於基於Post Policy的使用規則在服務端通過各語言SDK程式碼完成簽名,並且設定上傳回調,然後通過表單直傳資料到OSS的具體操作,請參見服務端簽名直傳並設定上傳回調概述。
關於搭建基於OSS的行動裝置 App資料直傳服務並設定上傳回調的具體操作,請參見快速搭建行動裝置 App上傳回調服務。