问题描述
PostObject请求头表单中policy表单域的值不是合法的Base64编码。
问题原因
Post请求的policy表单域格式非法,导致请求错误。
问题示例
无
解决方案
按照如下步骤构建正确policy表单域。
创建一个UTF-8编码的policy。
对policy进行Base64编码,其值即为policy表单域填入的值。
完整示例如下:
Python
policy = {
"expiration": "2023-02-19T13:19:00.000Z",
"conditions": [
["content-length-range", 0, 1048576000]
]
}
encoded_policy = base64.b64encode((json.dumps(policy))
JavaScript
var policyText = {
"expiration": "2023-02-18T21:39:00.000Z",
"conditions": [
["content-length-range", 0, 1048576000]
]
};
var policyBase64 = Base64.encode(JSON.stringify(policyText))
相关文档
关于Post Policy的更多信息,请参见附录:Post Policy。
关于Web端表单直传OSS的示例,请参见JavaScript客户端签名直传。
关于调用PostObject接口的常见错误及解决方法,请参见Post Object错误及排查。
文档内容是否对您有帮助?