• Springboot整合阿里云OSS进行文件上传


    本篇文章我们来介绍如何用Springboot整合阿里云OSS进行文件上传。

     

    1、开通阿里云OSS

    第一步:点击立即开通

    https://www.aliyun.com/product/oss

    第二步:进入管理控制台

    第三步:查看API帮助文档

    https://help.aliyun.com/document_detail/31947.html?spm=5176.8465980.help.dexternal.41231450z6Cv3R

    2、创建 bucket

    存储类型:低频访问存储

    读写权限:公共读

    3、创建子账户

    https://ram.console.aliyun.com/users

    第一步:点击创建用户

    第二步:填写相关信息,然后点击确定

    开通完成之后,就会有个 AccessKey ID 和 AccessKey Secret。

    PS:创建账户后,开通了 Open API 调用访问,要及时保存 AccessKey,否则关闭后无法再次获取。

    4、给子账户分配OSS管理权限

    添加OSS权限

    5、整合SDK-OSS

    https://github.com/alibaba/aliyun-spring-boot/blob/master/aliyun-spring-boot-samples/aliyun-oss-spring-boot-sample/README-zh.md

    5.1 引入依赖 liyun-oss-spring-boot-starter

    在 gulimall-common 模块中引入:

    PS:这里和官方引入的依赖不一样。

    1. <dependency>
    2.     <groupId>com.alibaba.cloudgroupId>
    3.     <artifactId>spring-cloud-starter-alicloud-ossartifactId>
    4.     <version>2.2.0.RELEASEversion>
    5. dependency>

    5.2 在配置文件中配置 OSS 服务对应的 accessKey、secretKey 和 endpoint。

    1. spring:
    2.   cloud:
    3.     alicloud:
    4.       oss:
    5.         endpoint: 
    6.       access-key
    7.       secret-key

    5.3 测试

    1. package com.atguigu.gulimall.product;
    2. import com.aliyun.oss.OSSClient;
    3. import com.aliyun.oss.model.GetObjectRequest;
    4. import com.atguigu.gulimall.product.entity.BrandEntity;
    5. import com.atguigu.gulimall.product.service.BrandService;
    6. import org.junit.jupiter.api.Test;
    7. import org.springframework.beans.factory.annotation.Autowired;
    8. import org.springframework.boot.test.context.SpringBootTest;
    9. import java.io.File;
    10. import java.io.FileInputStream;
    11. import java.io.FileNotFoundException;
    12. import java.io.InputStream;
    13. @SpringBootTest
    14. class GulimallProductApplicationTests {
    15.     @Autowired
    16.     OSSClient ossClient;
    17.     @Test
    18.     public void testUpload() throws FileNotFoundException {
    19.         //上传文件流。
    20.         InputStream inputStream = new FileInputStream("/Users/yushuai/Downloads/idea.jpeg");
    21.         ossClient.putObject("itcoke""test.jpeg", inputStream);
    22.         // 关闭OSSClient。
    23.         ossClient.shutdown();
    24.         System.out.println("上传成功.");
    25.     }
    26. }
  • 相关阅读:
    爬虫一般采用什么代理IP,Python爬虫代理IP使用方法详解
    服务端如何推送消息给客户端?
    “新KG”视点 | 知识图谱与大语言模型协同模式探究
    DBSCAN算法
    用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
    JAVA毕业设计冠状病毒疫情防控资讯交流推荐网站计算机源码+lw文档+系统+调试部署+数据库
    看完不信你还不懂MVCC原理详解
    前端知识总结
    Abbexa丨Abbexa低样本量通用皮质醇ELISA试剂盒原理
    第一个Vue程序
  • 原文地址:https://blog.csdn.net/weixin_60227714/article/details/126175864