1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Spring Boot集成阿里云的存储oss功能(实例)

Spring Boot集成阿里云的存储oss功能(实例)

时间:2021-09-24 13:47:35

相关推荐

Spring Boot集成阿里云的存储oss功能(实例)

一只IT界中的菜鸟,立志做一只最菜的鸟

授人以鱼不如授人以渔

作为程序猿要有一个善于分析产品,起码你要知道让你做你能不能实现功能

话不多说进入主题

你觉得你的web项目的图片,视频应该放在那里,放在项目中吗?

如果这样不好意思,你的项目大小可能会到达一个不可估量的大小,同时也会影响你的程序运行效率,

所以在实际开发中这些资源都是放在一台单独的服务器中,但是服务器成本高,所以阿里的oss服务应时而生,相比于传统的服务器节约了很多成本,也提供了更为安全的服务

首先我们要开通短信服务

产品分类=》对象存储=》对象存储oss

如果不知道怎么开通操作私信我

创建列表

添加maven依赖库

yaml配置

#不同的服务器,地址不同 aliyun.oss.file.endpoint=******* aliyun.oss.file.keyid=******* aliyun.oss.file.keysecret=******* //上一个博客写道过含义这里就不再说了 #bucket可以在控制台创建,也可以使用java代码创建 aliyun.oss.file.bucketname=*******

实体类字段

//与配置文件中对应 可以通过这样获取 @Value("${aliyun.oss.file.bucketname}") public static String END_POINT; public static String KET_ID; public static String KRY_SECRET; public static String BUCK_NAME;

服务层接口

String uploadAvator(MultipartFile file) throws IOException; //MultipartFile 表单上传有图片上需要

实现层(核心代码

@Override public String uploadAvator(MultipartFile file) throws IOException { //OssUtils实体类 String endpoint = OssUtils.END_POINT; ; // 云账号AccessKey String accessKeyId = OssUtils.KET_ID; String accessKeySecret = OssUtils.KRY_SECRET; String buckName = OssUtils.BUCK_NAME; // 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 文件流 InputStream inputStream = file.getInputStream(); //当前上传文件的名称 String fileName = file.getOriginalFilename(); //生成一个随机的数据防止文件被覆盖 String uuid = UUID.randomUUID().toString(); fileName = uuid + fileName; //根据实际情况分为不同的文件夹 String date = new DateTime().toString("yyyy/MM/dd").replaceAll("-", ""); //第一个参数是 buck的名称 第二个参数是 你输入流的文件按名称 fileName = date + "/" + fileName; ossClient.putObject(buckName, fileName, inputStream); // 关闭OSSClient,应放在finally中 ossClient.shutdown(); //获取上传成功侯的路劲 //此url应存放到数据库,以此为根据可以访问 String url = "https://" + buckName + "." + endpoint + "/" + fileName; return url; }

如果有不明白的地方,可在下方留言评论或者私信留言,空闲时间看到会回复,如有不同见解欢迎指出问题,共同进步!!!

结束语

预祝全国高考考生,旗开得胜 高考加油送给千万辛辛学子

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。