文件上传常见报错及解决方法

更新时间:2021-09-26 18:07:33

HTTP状态码:405

MethodNotAllowed

错误信息:The specified method is not allowed against this resource.

问题原因:使用了不支持的请求方法。

解决方法:采用 PUT 方法再次重试。

HTTP状态码:400

InvalidDigest

错误消息:The Content-MD5 you specified was invalid.

错误原因:PUT上传时请求头中的 Content-MD5 值与OSS服务端通过Body体中文件流所计算的Content-MD5值不一致。

解决方法:请检查PUT时请求头中 Content-MD5 值与上传的文件流是否一致。

HTTP状态码:403

SignatureDoesNotMatch

错误消息:The request signature we calculated does not match the signature you provided.Check your key and signing method.

问题原因:签名错误。

解决方法:

(1)请求方法不正确,正确请求方法是PUT,请不要GETDELETEPOST请求方法。

(2)请求头中Content-MD5值与当初调用“获取文件上传地址”或“获取模板文件上传地址”接口时所使用的contentMd5参数值不一致。

(3)上传时使用的文件与调调用“获取文件上传地址”或“获取模板文件上传地址”时计算contentMd5的文件不是同一份。


AccessDenied 报错

错误消息:Request has expired.

问题原因:文件上传链接已过期。

解决方法:请重新获取文件上传链接。

错误消息:Query string authentication requires the Signature,Expires and OSSAccessKeyId parameters.

问题原因:文件上传链接URL中缺少必要参数。

解决方法:请检查文件上传链接URL中的Signature、Expires和OSSAccessKeyId参数是否正确。


错误消息:You have no right to access this object because of bucket acl.

问题原因:没有该Object的访问权限。

解决方法:请检查文件上传链接URL中OSSAccessKeyId或Signature参数拼写不正确,是否含有转义字符。

例如:

Url中的是否包含OSSAccessKeyId参数和Signature参数以及是否拼写正确或携带转义符。

例如:

&OSSAccessKeyId=XXX

&Signature=hBEuUHA

携带转义符的Url

正确的Url(去掉转义符)

InvalidAccessKeyId报错

错误消息:The OSS Access Key Id you provided does not exist in our records.

问题原因:AccessKey ID不存在或已失效。

解决方法:请检查文件上传链接URL中security-token参数是否完整或是否含有转义字符。

例如:

Url中的是否包含security-token参数以及是否拼写正确或携带转义符。

例如:

&security-token=XXX

携带转义符的Url

正确的Url(去掉转义符)

我要纠错