問題描述
PostObject請求policy表單域中Conditions部分存在非法元素。
問題原因
您發起了PostObject請求來上傳檔案,但是請求中Post Policy表單域conditions中的content-length-range取值為字串,與介面要求的取值必須為正整數不相符,導致JSON解析錯誤。
問題樣本
以下Post Policy表單域conditions中的content-length-range指定檔案的最小大小為[1],檔案的最大大小為test,取值非法導致請求錯誤。
{
"expiration": "2023-02-19T13:19:00.000Z",
"conditions": [
["content-length-range", [1], "test"]
]
}解決方案
content-length-range用於指定所允許上傳的檔案最小和最大範圍,格式為["content-length-range", min-len, max-len]。其中,max-len(檔案的最大大小)必須大於等於min-len(檔案的最小大小),且max-len與min-len必須為正整數,單位為位元組。
{
"expiration": "2023-02-19T13:19:00.000Z",
"conditions": [
["content-length-range", 1, 1024]
]
}相關文檔
關於Post Policy的更多資訊,請參見附錄:Post Policy。
關於Web端表單直傳OSS的樣本,請參見JavaScript用戶端簽名直傳。
關於調用PostObject介面的常見錯誤及解決方案,請參見Post Object錯誤及排查。