irpas技术客

【报错记录】阿里OSS报OSSException:The request signature we calculated does not match the

大大的周 4543

ossClient.putObject报如下错误:

com.aliyun.oss.OSSException: The request signature we calculated does not match the signature you provided. Check your key and signing method. [ErrorCode]: SignatureDoesNotMatch [RequestId]: 5F310D06D934BE3436****** [HostId]: ******.oss-cn-qingdao.aliyuncs.com [ResponseError]: <?xml version="1.0" encoding="UTF-8"?> <Error> ? <Code>SignatureDoesNotMatch</Code> ? <Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message> ? <RequestId>5F310D06D934BE3436******</RequestId> ? <HostId>******.oss-cn-qingdao.aliyuncs.com</HostId> ? <OSSAccessKeyId>**********</OSSAccessKeyId> ? <SignatureProvided>**************************=</SignatureProvided> ? <StringToSign>PUT

?

oss版本为:

<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.7.0</version> </dependency>

我当时看到这个报错第一个反应就是,上级给我的id和secret是错的,我还去质疑上级,结果我拿自己的账号去测试了一下,还是同样的问题,我才发现这个根本不是id和secret的问题!!马老板是在骗我啊!!

?

结果发现是putObject的路径写错了!!

?public PutObjectResult putObject(String bucketName, String key, InputStream input)

这个方法中的第二个参数,也就是文件路径,其中写了连续的两个/!由于路径本来就很长,一时间还没发现,结果还真是这个原因导致的错误,找了要近1小时,问了好多同事,最后还是自己发现的原因,自己还是太粗心了~~


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #request #signature #We #calculated #does #not #match