【一文包会】Springboot快速实现阿里云OSS文件上传功

⭐️起因

==================================================================

起因:在遇到上传下载图片以及其他资源问题的时候,我选择的是将图片上传到我自己的云服务器上,按时间图片类型分好类,这样可以对图片进行正常的管理,但是代价来了,服务器内存太小(我的是学生机),如果这么操作下去服务器会”不堪其重“,故我选择了一种替代方案<使用阿里云对象存储OSS服务>来对这些资源进行管理

阿里云OSS是一种很好的针对存储的解决方案,在实际开发中也有许多公司使用该服务

⭐️1.开通“对象存储OSS”服务

===============================================================================

阿里云官网

1.1申请阿里云账号

1.2实名认证

1.3开通“对象存储OSS”服务

前两步比较简单,是注册与实名认证,我们直接略过进行第三步开通服务

在这里插入图片描述

在这里插入图片描述

如果我们存储量比较小,在1GB之下是不收费的,不过最好还是往阿里云存个一两块钱以防不测

我们进入管理控制台,创建Bucket

在这里插入图片描述

在这里插入图片描述

地域默认选择即可,地域的选择会影响下面的地域节点Endpoint

在这里插入图片描述

存储类型

  • 标准存储:文件频繁被访问

  • 低频访问存储:文件访问频率低

  • 归档存储:文件基本不访问,只做存储

这里根据存储的文件风格进行选择

在这里插入图片描述

启用同城冗余存储代表在此区域的文件将会备份,开通同城冗余存储会收费

在这里插入图片描述

读写权限

  • 私有:只有自己能访问文件

  • 公共读:任何人都能访问你的文件

  • 公共读写:其他人不仅能访问,还可以对你的文件进行操作

选择公共读即可

在这里插入图片描述

服务器加密方式和实时日志查询选择<无>和<不开通>即可

在这里插入图片描述

我们可以在Bucket列表中刚查看已创建的Bucket信息

在这里插入图片描述

我们使用控制台上传一张图片试一下

在这里插入图片描述

在这里插入图片描述

上传成功oss会帮我们生成访问地址,可以对图片进行下载

在这里插入图片描述

⭐️2.通过代码操作阿里云OSS

==============================================================================

⭐️2.1.创建操作阿里云oss许可证

=================================================================================

只有拿到了阿里云颁发id和秘钥我们才可以继续操作

在这里插入图片描述

在这里插入图片描述

进行验证即可获得,获得之后最好保存一下,如果遗忘的话再寻找秘钥又会需要验证很麻烦

⭐️2.2代码操作

=======================================================================

阿里云开发文档

项目基本结构

在这里插入图片描述

新建springboot工程引入依赖

com.aliyun.oss

aliyun-sdk-oss

3.10.2

joda-time

joda-time

2.10.1

application.properties

#服务端口

server.port=8002

#服务名

spring.application.name=service-oss

#环境设置:dev、test、prod

spring.profiles.active=dev

#阿里云 OSS

#不同的服务器,地址不同

aliyun.oss.file.endpoint=oss-cn-beijing.aliyuncs.com

aliyun.oss.file.keyid=your accessKeyId

aliyun.oss.file.keysecret=your accessKeySecret

#bucket

aliyun.oss.file.bucketname=wenwenaier-file

工具类ConstantPropertiesUtils:读取配置文件中的内容

package com.wql.oss.utils;

import org.springframework.beans.factory.InitializingBean;

import org.springframework.beans.factory.annotation.Value;

import org.springframework.stereotype.Component;

/**

  • Description

  • User:

  • Date:

  • Time:

*/

@Component

public class ConstantPropertiesUtils implements InitializingBean {

//读取配置文件中的内容

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

最后,强调几点:

  • 1. 一定要谨慎对待写在简历上的东西,一定要对简历上的东西非常熟悉。因为一般情况下,面试官都是会根据你的简历来问的; 能有一个上得了台面的项目也非常重要,这很可能是面试官会大量发问的地方,所以在面试之前好好回顾一下自己所做的项目;
  • 2. 和面试官聊基础知识比如设计模式的使用、多线程的使用等等,可以结合具体的项目场景或者是自己在平时是如何使用的;
  • 3. 注意自己开源的Github项目,面试官可能会挖你的Github项目提问;

我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!

以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。

面试答案

三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里

三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里

三面头条+四面阿里+五面腾讯拿offer分享面经总结,最终入职阿里

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!**](https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要从阿里云oss下载文件,可以使用Java SDK提供的OSSClient类。以下是使用Spring Boot实现从阿里云oss下载文件的步骤: 1. 引入阿里云Java SDK和Spring Boot依赖 在pom.xml中添加以下依赖: ``` <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 2. 配置阿里云oss参数 在application.properties或application.yml中添加以下阿里云oss参数: ``` aliyun.oss.endpoint=<your endpoint> aliyun.oss.accessKeyId=<your accessKeyId> aliyun.oss.accessKeySecret=<your accessKeySecret> aliyun.oss.bucketName=<your bucketName> ``` 3. 实现文件下载接口 在Spring Boot的Controller中添加文件下载接口,使用OSSClient类下载指定文件: ``` @RestController public class FileController { @Autowired private OSSClient ossClient; @GetMapping("/download") public void download(@RequestParam String objectName, HttpServletResponse response) throws IOException { OSSObject ossObject = ossClient.getObject(bucketName, objectName); InputStream inputStream = ossObject.getObjectContent(); response.setHeader("Content-Disposition", "attachment;filename=" + objectName); response.setContentType("application/octet-stream"); IOUtils.copy(inputStream, response.getOutputStream()); response.flushBuffer(); } } ``` 在上面的例子中,我们使用了@RequestParam注解来获取文件名,然后使用OSSClient类下载文件。最后,使用response将文件返回给客户端。 注意:在使用完OSSClient后,需要及时关闭它以释放资源。可以在Spring Boot的配置类中添加@PreDestroy注解来关闭OSSClient: ``` @Configuration public class OSSConfig { @Value("${aliyun.oss.endpoint}") private String endpoint; @Value("${aliyun.oss.accessKeyId}") private String accessKeyId; @Value("${aliyun.oss.accessKeySecret}") private String accessKeySecret; @Value("${aliyun.oss.bucketName}") private String bucketName; @Bean public OSSClient ossClient() { return new OSSClient(endpoint, accessKeyId, accessKeySecret); } @PreDestroy public void destroy() { ossClient().shutdown(); } } ``` 以上就是使用Spring Boot从阿里云oss下载文件的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值