问题一:oss存储,调用sdk设置metadata.ContentType = "txt/plain;charset=utf-8";报错
问题描述
...The request signature we calculated does not match the signature you provide
期望结果
...
已尝试的方法
...
参考回答:
签名错误,请参考以下步骤排查:
- 确认Endpoint格式是否填写正确。
以华东1(杭州)地域为例,正确的Endpoint格式为http://oss-cn-hangzhou.aliyuncs.com。关于其他地域对应的Endpoint填写方法,请参见访问域名和数据中心。
- 确认AccessKey ID与AccessKey Secret是否填写正确。
AccessKey ID与AccessKey Secret前后不能存在空格。
- 确认BucketName与ObjectKey符合命名要求。
- BucketName的命名规则如下:
- Bucket名称在OSS范围内必须全局唯一。
- 只能包括小写字母、数字和短划线(-)。
- 必须以小写字母或者数字开头和结尾。
- 长度为3~63个字符。
- ObjectKey的命令规则如下:
- 使用UTF-8编码。
- 长度必须在1~1023字符之间。
- 不能以正斜线(/)或者反斜线(\)开头。
- 区分大小写。
- 检查签名方法。
- 如果您是自己实现的签名且您的业务环境适合使用SDK,请参考OSS SDK提供的签名方法完成签名。更多信息,请参见使用阿里云SDK发起请求概述。
- 如果您是自己实现的签名且您的业务环境不适合使用SDK,您需要手动编写代码计算签名并将签名添加到REST API请求中。更多信息,请参见使用REST API发起请求。
- 确认使用的代理中是否添加额外的Header。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/502763
问题二:The OSS Access Key Id you provided does not...错误
oss使用正确的Access Key ID和Secret Key,
依然提示:“
oss: service returned error: StatusCode=403, ErrorCode=InvalidAccessKeyId, ErrorMessage="The OSS Access Key Id you provided does not exist in our records.", RequestId=64F483C45ABDFB3735DD6125”
用oss sdk调用是没问题的,可以正常返回token,
然而当我想在1Panel面板中添加OSS支持就会一直报错,1Panel肯定是没问题的,因为我看视频教程都是可以的,因该还是OSS没配置对,
但官方文档都翻烂了都没有,都是然确认有没有填错啥的,难受两天了,有没有知道为什么的。
参考回答:
楼主你好,可能是你在1Panel面板中填写的Access Key ID和Secret Key不正确,或者是你在OSS控制台中没有开启对应的权限。你可以尝试重新生成一组Access Key ID和Secret Key,并检查你在1Panel面板中填写的信息是否正确。
另外,你也可以尝试通过阿里云CLI工具进行验证和调试,以便更好地定位问题。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/549379
问题三:Must provide String/Buffer/ReadableStream for put.
RAM 和 OSS对接后 上传文件时提示TypeError: Must provide String/Buffer/ReadableStream for put. 是什么情况?怎么处理呢希望大神帮忙看看! 微信截图_20230505184009.png
参考回答:
这个错误提示意味着在将文件上传到OSS时,您提供的上传数据格式不正确。您需要将上传数据转换为String、Buffer或ReadableStream格式,然后再进行上传。
解决方法如下:
确保您的上传数据是正确的格式。如果您使用的是文件路径,请确保路径正确,并且文件存在。如果您使用的是Buffer或ReadableStream,请确保数据格式正确。
如果您使用的是RAM,可以尝试使用OSS SDK提供的putStream方法将数据上传到OSS。putStream方法接受一个ReadableStream作为参数,可以直接将RAM中的数据流上传到OSS。
如果您使用的是其他方式将数据存储在RAM中,请确保将其转换为正确的格式,例如String或Buffer。然后,您可以使用OSS SDK提供的put方法将数据上传到OSS。
如果以上方法无法解决问题,请考虑联系OSS技术支持人员以获取进一步的帮助。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/507188
问题四:presignConstrainURLWithBucketName
问题描述
OSSTask *putTask = [client presignConstrainURLWithBucketName:BucketName withObjectKey:imageName withExpirationInterval:30 * 60];
生成的链接图片资源浏览器无法访问
<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<RequestId>637B28DD49317135320F63DD</RequestId>
<HostId>xxxx.com</HostId>
<Key>xxxxxxx.jpg</Key>
</Error>
期望结果
图片是私有的
已尝试的方法
参考回答:
你好,私有链接访问时需要生成签名URL才可以进行访问,您可以参考 在URL中包含签名 。
针对 “The specified key does not exist” 这个错误,请检查您所访问的文件是否在Bucket中存在,若存在的话,请再检查您在生成签名Url时对应的 BucketName、Object 等相关参数。
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/502264
问题五:OSS使用STS提示The Content-MD5 you specified was invalid错误
OSS使用STS提示The Content-MD5 you specified was invalid错误
参考回答:
OSS使用STS提示The Content-MD5 you specified was invalid,原因是上传的Content-MD5请求头与OSS计算消息体的Content-MD5不一致。请参考Content-MD5的计算方法进行排查:https://help.aliyun.com/document_detail/31951.htm#section-i74-k35-5w4
关于本问题的更多回答可点击原文查看:https://developer.aliyun.com/ask/502119