栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot集成OSS实现文件上传

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot集成OSS实现文件上传

SpringBoot集成OSS实现文件上传 1. 功能和Api 接口

2. Spring Cloud OSS 接入准备 2.1 添加依赖

   com.alibaba.cloud
   spring-cloud-starter-alicloud-oss

2.2 申请账号

登录阿里云官网:

搜索RAM->进入RAM 访问控制。

创建用户:

授予权限:

记录你的****AccessKey ID和AccessKey Secret信息:

AccessKey IDLTAI5tC6vYWV9d3tFkCNLKDs
AccessKey SecretPVkpcDGzRqe6q0k6cNlKNWCMbenzfo
2.3 开启OSS 对象存储

进入OSS控制中心:

创建Bucket:


信息确认无误后,点击确定:

记录地域地址:

oss-cn-beijing.aliyuncs.com
oss-cn-beijing-internal.aliyuncs.com
oss-cn-beijing-internal.aliyuncs.com
2.4 添加配置文件

打开Nacos,修改配置文件:

3. 文件上传接口开发 3.1 新建FileController

@RestController
@Api(tags = "文件上传")
public class FileController {

   @Autowired
   private OSS ossClient ;

   @Value("${oss.bucket.name:exchange-imgs}")
   private String bucketName ;

   @Value("${spring.cloud.alicloud.oss.endpoint}")
   private String endPoint ;


   @ApiOperation(value = "文件上传")
   @PostMapping("/image/AliYunImgUpload")
   @ApiImplicitParams({
           @ApiImplicitParam(name = "file" ,value = "你要上传的文件")
   })
   public R fileUpload(@RequestParam("file") MultipartFile file) throws IOException {
       
       String fileName = DateUtil.today().replaceAll("-","/")+"/"+file.getOriginalFilename() ;
       ossClient.putObject(bucketName, fileName, file.getInputStream()); // 文件上传

       // 上传成功后,路径为https://exchange-imgs.oss-cn-beijing.aliyuncs.com/2020/10/10/1588586643_meitu_1.jpg
       return R.ok("https://" + bucketName+ "."+ endPoint +"/"+ fileName) ;

   }
}
3.2 MultipartFile 序列化问题

MultipartFile 使用fastjson 序列化会报错,因此我们需要忽略掉它:

修改WebLogAspect(是一个切面, 所有的controller运行完都会运行这个切面)里面的代码:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273525.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号