# aliyun-oss-spring-boot-starter-demo **Repository Path**: wangfugui-ma/aliyun-oss-spring-boot-starter-demo ## Basic Information - **Project Name**: aliyun-oss-spring-boot-starter-demo - **Description**: 使用aliyun-oss-spring-boot-starter的项目的教程 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-03-17 - **Last Updated**: 2024-12-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: aliyunoss, 对象存储, 开源, 演示 ## README 在上一篇文章中我们介绍了如何使用SpringBoot集成阿里云oss: [什么!没有Starter的阿里云OSS也能集成到SpringBoot?](https://juejin.cn/post/7348703569053155365) 但是这个方式还是需要自己去写配置类去配置很多的东西,那么我在想,为什么不自己写一个阿里云OSS的spring-boot-starter呢,所以`aliyun-oss-spring-boot-starter`的1.0.0版本出现了,同时我也将jar包发布到了maven的中央仓库供大家使用。 [maven仓库主页](https://mvnrepository.com/artifact/io.gitee.wangfugui-ma/aliyun-oss-spring-boot-starter) > ![在这里插入图片描述](demo/READMEimg/4ddfcd17a51b485fbe9d18c183fe958c.png) 请使用`1.0.0`版本 ## 第一步,新建一个SpringBoot项目 [SpringBoot入门:如何新建SpringBoot项目(保姆级教程)](https://juejin.cn/post/7350168797637656576) ## 第二步,在pom文件里面引入jar包 ```java io.gitee.wangfugui-ma aliyun-oss-spring-boot-starter {最新版本} ``` ## 第三步,配置你的阿里云oss信息 在yml或者properties文件中配置如下信息 ``` aliyunoss: bucketName: masiyimarkdown endpoint: https://oss-cn-guangzhou.aliyuncs.com accessKeyId: LTAI5tRbBzEmyo9sde3g9qqc accessKeySecret: aDcdwcDeUef1602V42TsdtfAJ42Ma9 ``` ### aliyunoss.bucketName bucket名称,相当于一个整体的文件夹的名称。目前1.0.0 版本只支持项目中使用一个bucket,后续可能会优化为多个bucket。 > ![在这里插入图片描述](demo/READMEimg/aef95aa270aa478c865652f5040fdb1c.png) ### aliyunoss.endpoint Endpoint(地域节点)根据你创建的bucket的所在地址来决定endpoint是什么,例如我上面的地域是广州则是:https://oss-cn-**guangzhou**.aliyuncs.com > ![在这里插入图片描述](demo/READMEimg/8fd540d2aa4d4bdcaea042891b1609a3.png) ### accessKeyId,accessKeySecret 相当于你oss的账号密码,配置之后只会出现一次,一定要记住 > ![](demo/READMEimg/f2298f025bb64ae681357b3995fa1703.png) > > ![在这里插入图片描述](demo/READMEimg/94cd270bedc8438191f5c2d7448c7fa6.png) ## 第四步,使用AliyunTemplate ``` @Autowired AliyunTemplate aliyunTemplate; ``` 在你的项目中直接使用`Autowired`注解注入`AliyunTemplate`即可使用 > ![在这里插入图片描述](demo/READMEimg/a622392e60df40dab21926c5ffe77430.png) ## 第五步,验证是否可以使用 我们编写一个测试方法往oss里面上传一个txt文件试试 > ![在这里插入图片描述](demo/READMEimg/668d3e4059b241d2897f1eceb02bb6d1.png) 发现成功在oss里面添加文件: > ![在这里插入图片描述](demo/READMEimg/4d76aeb30efd4743a0ee94f6cbb88b7f.png) 所以,这次相比我们比上次的方式优雅多了,只需要引入`aliyun-oss-spring-boot-starter` 之后再配置阿里云oss的信息,这样就可以使用了。 ## 其他方法 ### 上传文件 putObject 功能:将文本字符串 txt 作为文件内容,以指定的 objectName 上传至OSS服务中指定的Bucket。 参数: String txt: 要上传的文本内容。 String objectName: 上传文件在OSS中的名称,应包含文件扩展名。 返回值:成功时返回 PutObjectResult 对象,包含上传结果的元数据;若发生异常,则记录错误日志并返回 null。 ### 上传图片 putImage 功能:将从 inputStream 获取的图片数据,以指定的 fileName 上传至OSS服务中指定的Bucket。 参数: InputStream inputStream: 包含图片数据的输入流。 String fileName: 上传图片在OSS中的名称,应包含文件扩展名。 返回值:成功时返回 PutObjectResult 对象,包含上传结果的元数据;若发生异常,则记录错误日志并返回 null。 ### 创建存储空间 createBucket 功能:在OSS服务中创建一个新的存储空间(Bucket),名称为 bucketName。 参数:String bucketName - 要创建的Bucket名称。 返回值:成功时返回新建的 Bucket 对象;若发生异常,则记录错误日志并返回 null。 ### 下载文件 getObject 功能:从OSS服务中下载指定Bucket和ObjectName的文件,并逐行打印其内容到控制台。 参数: String bucketName: 存储文件的Bucket名称。 String objectName: 要下载的文件在OSS中的名称。 注意:实际应用中可能需要将下载的文件内容保存到本地或进行其他处理,此处仅演示了读取并打印文件内容。 ### 列举文件 listObjects 功能:列举指定Bucket下的所有文件,打印每个文件的Key(即名称)和大小。 参数:String bucketName - 要列举文件的Bucket名称。 返回值:成功时返回 ObjectListing 对象,包含Bucket中文件的列表及相关元数据;若发生异常,则记录错误日志并返回 null。 ### 删除文件 deleteObject 功能:从指定Bucket中删除名为 objectName 的文件。 参数: String bucketName: 存储文件的Bucket名称。 String objectName: 要删除的文件在OSS中的名称。 注意:删除操作不可逆,执行前确保已确认删除目标。 ## 后续版本考虑支持 1. 添加多个bucket支持 2. 添加更多丰富的api > ![在这里插入图片描述](demo/READMEimg/7e5d6303bac33a439cb406fc76313585.png#pic_center)