P8 oss对象存储

介绍

对象存储服务 oss 阿里云

Bucket 存储空间 ;Object 对象/文件 ;region 地域;endpoint 访问域名;accessKey 密钥—>keyId和密码

上传方式:用户------> oss js中携带密钥,但不安全

一般:用户-----服务器------oss 选择服务签名后直传

1、用户---->服务器。请求上传policy

2、服务器---->用户。返回policy策略,包括防伪签名,授权令牌,上传地址,账号密码在应用服务器。

3、用户----->oss。直接上传数据

bucket 右上侧有帮助文档,用java sdk 打开

安装测试

在github找cloud-alibaba,common中导入 starter-cloud-oss 这个包,直接用ossclient即可,自动注入。

<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>aliyun-oss-spring-boot-starter</artifactId>
            <!--带上版本号!!!!!!!!-->
            <version>1.0.0</version>
        </dependency>

开通子账号、密码,防止账号信息泄露。新建用户,编程访问,控制台也能登录阿里云

alibaba:
  cloud:
    access-key: 
    secret-key:
    oss:
      endpoint: 

为子用户分配权限,fulloss

product配置密钥,测试上传文件,怎么在test中获取密码?

不用,需要的是 bucket_name和文件名称

项目启动失败:报错,错误得到了2个参数,实际该是0个

解决:在spring-cloud-util-enabled 设置为false

获取服务端签名

四步解决!OSS对象存储文件上传功能(服务端签名后直传,建议收藏)-阿里云开发者社区 (aliyun.com)

成功的版本
spring-cloud 3.1.7 使用了openfeign
springboot 2.7.6
"com.alibaba.cloud.spring.boot.oss.autoconfigure.OssContextAutoConfiguration",
"ossClient"这是ApplicationContext打印的getBeanDefinitionNames加载信息,明明有,为什么报错
无法自动装配。找不到 'OSSClient' 类型的 Bean
解决成功:在前面没有出错的情况下,自己更新认错!

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

原因有两个1、上面下载依赖,带上版本号;2、因为没有带版本号,自动导入的依赖是人人fast里面的oss版本,它第三方模块加载的自动配置类不太匹配。可以考虑将本地仓库aliyun中关于oss的jar包删除,重新清理编译!

突然品牌管理前端页面打开显示空白,发现打印日志的动态路由,品牌管理的component显示null
从登录开始刷新页面,发现是有nav的路径在更新路由,查找定位到js文件。
src--router--index.js的fnAddDynamicMenuRoutes方法
在对component的处理前后加log打印(在方法其他业务逻辑浪费了太多时间,且没有搞懂。。。。)
发现catch异常没有打印,输出打印就可以发现错误了!
是对单文件组件商场singleUpload,自己注册了一个,它自动又又注册了一个,两个名字连起来未知!
跨域报错:
has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource

因为重复配置跨域问题报错:
has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8001, *', but only one is allowed.

问题:上传文件出现跨域问题包括,但是分类维护模块跨域读取数据正常。错误原因是具体的请求,如上传文件请求在java代码中额外配置了@CrossOrigin

接下来,它竟然还报错跨域问题,明明阿里云里也已经配置好了。在数据安全新建域名,来源和允许header都是*,方法全勾上。
解决:vpn!关了就行,特别是爬虫时也不要开
上一篇:大疆智图_空三&二维重建&成果传输-四、代码


下一篇:自然资源-国土空间规划术语集合