本文介绍OSS返回400错误的原因和解决方案。
InvalidBucketName
- 错误消息:The specified bucket is not valid.
- 错误原因:Bucket命名不符合规范。
- 解决方案:检查并确保Bucket命名符合规范。
Bucket命名规范如下:
- 只包含小写字母、数字和短划线(-)。
- 以小写字母或者数字开头和结尾。
- 长度在3~63字节之间。
InvalidObjectName
- 错误消息:
- The Object name can not be empty.
- The Length of Object name must be less than 1024.
- 错误原因:Object命名不符合规范。
- 解决方案:检查并确保Object命名符合规范。
Object命名规范如下:
- 使用UTF-8编码。
- 长度在1~1023字节之间。
- 不是以正斜线(/)或者反斜线(\)开头。
TooManyBuckets
- 错误消息:You have attempted to create more buckets than allowed.
- 错误原因:同一阿里云账号在同一地域内创建的Bucket数量已达到最大值100个。
- 解决方案:如需调整Bucket数量上限,请提交工单。
RequestIsNotMultiPartContent
- 错误消息:Bucket POST must be of the enclosure-type multipart/form-data.
- 错误原因:Post操作提交表单编码不是
multipart/form-data
类型。 - 解决方案:Post操作提交表单编码必须为
multipart/form-data
,即Header中Content-Type
为multipart/form-data;boundary=xxxxxx
形式,boundary
为边界字符串。详情请参见PostObject。
RequestTimeout
- 错误消息:Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.
- 错误原因:因网络环境或网络配置等引起网络超时。
- 解决方案:请参见网络超时处理。
NotImplemented
- 错误消息:A header you provided implies functionality that is not implemented.
- 错误原因:封装API时传递了错误的或者不支持的参数。
- 解决方案:请参见API概览中相应的API,填写正确的参数格式。
InvalidArgument
- 错误消息:Invalid Argument. Parameter is invalid.
- 错误原因:参数格式不符合要求。
- 解决方案:请参见API概览中相应的API,填写正确的参数格式。
MaxPOSTPreDataLengthExceededError
- 错误消息:Your POST request fields preceding the upload file were too large.
- 错误原因:上传的文件过大。通过Post方法上传的文件不能超过5 GB。
- 解决方案:请参见PostObject错误及排查。
FieldItemTooLong
- 错误消息:Your name of form field is too long.
- 错误原因:Post请求中表单域过大。除了file外,其他表单域大小不得超过4 KB。
- 解决方案:请参见PostObject错误及排查。
MalformedPOSTRequest
- 错误消息:The body of your POST request is not well-formed multipart/form-data.
- 错误原因:PostObject请求中表单域格式不符合要求。
- 解决方案:遵循表单域格式要求。
表单域格式如下 :
Content-Disposition: form-data; name="{key}"\r\n\r\n{value}\r\n--{boundary}
PostObject请求示例如下:
POST / HTTP/1.1 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; zh-CN; rv:1.9.2.6) Content-Type: multipart/form-data; boundary=9431149156168 Host: xxxx-hz.oss-cn-hangzhou.aliyuncs.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Content-Length: 5052 --9431149156168 Content-Disposition: form-data; name="key" test-key --9431149156168 Content-Disposition: form-data; name="Content-Disposition" attachment;filename=D:\img\example.png --9431149156168 Content-Disposition: form-data; name="OSSAccessKeyId" 2NeL********j2Eb
要求如下:- Header必须包含Content-Type: multipart/form-data; boundary={boundary}。
- Header和Body之间由
\r\n--{boundary}
分割。\r\n
显示为换行。 - 表单域名称大小写敏感,如
policy
、key
、file
、OSSAccessKeyId
、OSSAccessKeyId
、Content-Disposition
。 - 表单域
file
必须为最后一个表单域。 - Bucket为
public-read-write
时,可以不指定表单域OSSAccessKeyId
、policy
、Signature
。如果指定了其中一个,则无论Bucket是否为public-read-write
,都必须指定另外两个。
说明 上面的示例为请求的部分内容,完整的请求请参见PostObject。如果您还有疑问,请参见示例代码:
InvalidPolicyDocument
- Invalid Simple-Condition
- 错误消息:Invalid Policy: Invalid Simple-Condition: Simple-Conditions must have exactly one property specified.
- 错误原因:请求Policy中没有包含
conditions
。 - 解决方案:请求Policy中必须包含至少一项
conditions
。
- Invalid JSON: unknown char e
- 错误消息:Invalid Policy: Invalid JSON: unknown char e.
- 错误原因:请求中的Policy格式错误。
- 解决方案:请检查Policy格式,是否缺失
"
,转义字符前是否有\
。
- Invalid JSON: , or ] expected
- 错误消息:Invalid Policy: Invalid JSON: , or ] expected.
- 错误原因:请求中的Policy格式错误。
- 解决方案:请检查Policy中是否缺少
,
或]
。
IncorrectNumberOfFilesInPOSTRequest
- 错误消息:POST requires exactly one file upload per request.
- 错误原因:Post请求中文件个数无效。Post请求中只能有一个
file
表单域。 - 解决方案:确保Post请求中只有一个
file
表单域。
EntityTooSmall
- 错误消息:Your proposed upload smaller than the minimum allowed size.
- 错误原因:上传的Object超出允许的最小值。
- 解决方案:采用Post方法上传文件时,通过PostPolicy设置表单域的有效值。可使用限定条件
content-length-range
指定允许上传Object的大小范围。
EntityTooLarge
- 错误消息:
- Your proposed upload exceeds the maximum allowed size.
- Source object Length exceeds the maximum allowed size.
- 错误原因:上传的Object超出允许的最大值。
- 解决方案:采用Post方法上传文件时,通过PostPolicy设置表单域的有效值。可使用限定条件
content-length-range
指定允许上传Object的大小范围。
MalformedXML
- 错误消息:The XML you provided was not well-formed or did not validate against our published schema.
- 错误原因:请求中的XML格式非法。
- 解决方案:请根据具体请求进行错误排查。
各请求的详细信息如下:
InvalidTargetBucketForLogging
- 错误消息:Put bucket log requester is not target bucket owner.
- 错误原因:存放日志的目标Bucket不存在。
- 解决方案:请更换为有效的目标Bucket。
InvalidPart
- 错误消息:One or more of the specified parts could not be found or the specified entity tag might not have matched the part's entity tag.
- 错误原因:PartNumber或ETag错误导致CompleteMultipartUpload提交的Part无效。
- 解决方案:请参见CompleteMultipartUpload。
FilePartNotExist
- 错误消息:The Part you read had been deleted.
- 错误原因:CompleteMultipartUpload提交的分片被删除。
- 解决方案:请参见CompleteMultipartUpload。
InvalidPartOrder
- partNumber排序错误
- 错误消息:The list of parts was not in ascending order.
- 错误原因:CompleteMultipartUpload提交的Part未按照partNumber升序排列。
- 解决方案:请参见CompleteMultipartUpload。
- partNumber取值错误
- 错误消息:Part number must be an integer between 1 and 10000, inclusive.
- 错误原因:无效的partNumber。partNumber的取值范围为1~10000。
- 解决方案:请参见CompleteMultipartUpload。
InvalidEncryptionAlgorithmError
- 错误消息:The encryption algorithm specified is not valid.
- 错误原因:指定的
x-oss-server-side-encryption
值无效。有效值为AES256
或KMS
。 - 解决方案:请参见PutObject。
InvalidDigest
- 错误消息:The Content-MD5 you specified was invalid.
- 错误原因:指定的
Content-MD5
值与所发送数据的MD5值不符。 - 解决方案:请参见PutObject。
InvalidTargetType
- 错误消息:The symbolic's target file type is invalid.
- 错误原因:Object类型为软链接,且软链接指向的目标Object类型仍为软链接。
- 解决方案:确保软链接指向的目标Object不是软链接。
在文档使用中是否遇到以下问题
更多建议
匿名提交