全栈的自我修养 ———— spring中部署阿里云的对象存储服务oss

一、申请oss服务

1、开通oss服务

在这里插入图片描述

在这里插入图片描述

2、创建bucket

在这里插入图片描述

输入bucket后其他的不用管,注意要记住你选择地址的Endpoint !!!

在这里插入图片描述

3、创建密钥

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、部署服务端

1、引入依赖

在pom文件中引入如下


        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>2.8.3</version>
        </dependency>

2、配置配置项(application,本人用的是yml)

输入上所需要的信息

aliyun:
  oss:
    endpoint: oss地址 ----> 第大一步第小二步,让你保存的
    accessKeyId: 密钥id
    accessKeySecret: 密钥密码
    bucketName: 你第一步创建banket输入的名字

(endpoint忘记也没关系,一般的话就是: oss-cn-你选择的地址全拼.aliyuncs.com)

3、创建属性类,

@Data
@Component
@ConfigurationProperties(prefix="aliyun.oss")
public class Aly {
    private String endpoint;
    private String accessKeyId;
    private String accessKeySecret;
    private String bucketName;
}
\\ 如果Data爆红(没有安装lombok)需要手写get和set方法

4、创建aly上传的工具类

可以直接复制我下面的代码:

@Component
public class AlyUtil {
    @Autowired
    private Aly aly;

    public String upload(MultipartFile file) throws IOException {
        String endpoint = aly.getEndpoint();
        String accessKeyId=aly.getAccessKeyId();
        String accessKeySecret= aly.getAccessKeySecret();
        String bucketName = aly.getBucketName();
        // 获取上传的文件的输入流
        InputStream inputStream = file.getInputStream();

        // 避免文件覆盖
        String originalFilename = file.getOriginalFilename();
        String extension = "";
        int lastIndex = originalFilename.lastIndexOf(".");
        if (lastIndex >= 0) {
            extension = originalFilename.substring(lastIndex);
        }
        String fileName = UUID.randomUUID().toString() + extension;

        //上传文件到 OSS
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        ossClient.putObject(bucketName, fileName, inputStream);

        //文件访问路径
        String url="https://"+bucketName+"."+endpoint+"/"+fileName;
        // 关闭ossClient
        ossClient.shutdown();
        return url;// 把上传到oss的路径返回
    }

}

5、创建controller接口

如下将直接返回一个你上传文件的url地址

    @Autowired
    private AlyUtil alyUtil;
    @PostMapping("/getUrl")
    public String getUrl(@RequestParam("file") MultipartFile file) throws IOException {
        String url= alyUtil.upload(file);
        return url;
    }

三、验证

这边小编直接使用的postman测试(小编用的是自己的项目进行的测试),
如图data中即为存储的信息,可以用于直接访问
在这里插入图片描述

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值