如果是这样的报错,检查确定
AccessKey ID,AccessKey Secret
等云存储的设置没有问题,那就可能是虚拟机系统的时区跟当地的时间不是同时区
检查虚拟机的时间(虚拟机系统:centos7)
输入命令:
date
如果时间对比上面显示的时间跟你实际的时间不符合,则输入命令:
ntpdate 218.186.3.36
来调整时间,当然我的已经修改过的了,反正命令没错,嘿嘿
如题,从
oss
下载文件的
时
候遇到了
oss
2.
exceptions
.SignatureDoesNotMatch: {'
status
': 403, ...这个问题,
报
错
很长,找了很久都没有找到解决方法,刚开始以为是权限问题和路径的,改了很久也没改出来。后来看到有人说可能是key的问题,于是重新创建一个accesskey就好用了。
springcloud整合
oss
报
403问题 一. 跨域问题——需要在服务器配置允许跨域二. 权限问题——需要给ak和as设置管理
OSS
权限三. 过期
时
间expireTime问题——四. 注意:一定先用
OSS
文档提供demo测试自己
OSS
是否正常上传。像第三种
报
错
信息,我把所有
报
错
信息排查了,都没有解决了,因为整合springcloud
报
错
信息不一定是文档中那样。所以当遇到问题,先
使用
OSS
文档测试一下,可以准确定位自己的
报
错
信息。
一. 跨域问题——需要在服务器配置允许跨域
按照我上面配置,然
项目场景:
文件上传阿里云
OSS
,通常情况下的上传方式是页面先文件上传到我们的后台服务器,我们的后台服务器在上传到
OSS
,这样的话一个文件的上传操作就相当于消耗了两份服务器带宽,
流程图如图所示:
而如果项目的文件或者图片上传业务比较大的话,显然这对服务器来说是一个不必要的开销。
当然,我们也有优化的解决办法,通过服务端给我们生成一个允许我们上传文件到
OSS
的签名,我们前端项目拿到这个签名去直接上传到
OSS
,这样就减少了额外的带宽开销,流程图如下所示:
有明显
报
错
信息的先 Google 一下,看看是操作系统
错
误还是
OSS
Brower 抛出,经过鉴定
错
误是 Linux 系统底层返回,说明当
时
系统的
OSS
Brower 所在的目录磁盘满了,开源的
错
误到处可以看到,自行解决即可。
分片上传成功,下载 404
http://<yourBucketName>.<yourEndpoint>/<yourObjectName>
例如:http://image-demo.
oss
-cn-hangzhou.aliyuncs.com/example.jpg
因此我的理解是:objectName ==example
以及以下文档:
https:/...
“cannot resolve com.aliyun.
oss
:aliyun-sdk-
oss
:3.10.2”问题表明在
使用
该库
时
出现了依赖问题,导致无法解析该库的版本。解决该问题的方法有以下几种:
1.检查该库的版本号是否正确。确保该库的版本号准确无误,否则会导致依赖解析失败。
2.检查依赖关系是否正确。确保所有依赖的版本号正确,并且没有与该库版本不兼容的版本冲突。如果存在冲突,可以通过调整依赖关系来解决。
3.更新仓库和gradle版本。有
时
候,依赖无法解析是由于仓库失效或gradle版本过低造成的。更新仓库和gradle版本可以解决这个问题。
4.尝试
使用
其他版本。如果无法解决依赖问题,可以尝试
使用
其他版本的该库。在选择其他版本
时
,需要注意版本之间的兼容性。
综上所述,处理“cannot resolve com.aliyun.
oss
:aliyun-sdk-
oss
:3.10.2”问题需要仔细检查库的版本号、依赖关系以及更新仓库和gradle版本,并根据需要尝试
使用
其他版本的该库来解决。