使用阿里云oss实现上传头像功能
2022-03-08 本文已影响0人
DOB_8199
以前我们直接将头像文件保存到本地目录或tomcat中,但其他人无法访问到本地硬盘,所以现在我们使用云存储服务。
使用阿里云服务
1. https://www.aliyun.com/ ,开通对象存储OSS
2. 使用oss管理控制台,创建bucket
3. 开通完成之后可以直接在该bucket内上传文件,但我们更多的是使用java代码操作
java操作阿里云oss
1. 创建操作阿里云oss许可证(阿里云颁发id和密钥)
3. 在oss文档中找到java SDK文档查看使用说明:https://help.aliyun.com/document_detail/32008.htm?spm=a2c4g.11186623.0.0.401f4b78m5mxNv#concept-32008-zh
3.1 引入依赖写入配置
3.2 新建启动类,启动发现问题
原因:由于我们该模块是只用于上传,不需要数据库,但启动类会去查找数据源。
解决:1. 引入数据库依赖 2.在启动类添加属性exclude = DataSourceAutoConfiguration.class,使其不去加载数据库配置
3.2 在service中写入相应的逻辑
3.3 在controller中调用
3.4 启动项目,通过swagger测试成功
问题
1. 上传相同的文件名称,之前上传的同名文件会被覆盖
解决方法:在文件名称中添加随机的唯一值,使每个文件名不同
1) 根据每个用户分类
2) 根据日期分类