SpringBoot整合七牛云

本文介绍了如何在SpringBoot项目中集成七牛云OSS对象存储服务,包括Maven依赖的引入、配置文件的设置、代码编写(Auth、UploadManager的使用)、图片上传及测试过程,展示了从准备到实现的完整步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

最近在做有关文件上传得项目,一般来说服务器足够大,将图片上传到本地服务器倒也够用,但是如果我们得服务器过小,或者随着运营时间推进,图片资源将占用服务器大量得空间,这时候,我们可以考虑使用OSS对象存储。

OSS(Object Storage Service)对象关系存储。

OSS是在云上提供无层次结构的分布式存储产品,为用户提供单价较低且快速可靠的数据存储方案。

简单点:用户把静态数据如图片、视频、js、html、css等等放入到Bucket中,然后每个数据对象会得到一个唯一的访问地址,客户端只需要通过REST API去获取资源就行了。

例子:酒店服务生帮我泊车,然后会给我张凭证,我不关心他帮我停在停车场的几楼哪个车位,我离开时只需要将凭证给他,他就会帮我把车取出来。在这里“停车场”可以看作是一个Bucket,我的“车”可以看作是一个数据对象,“凭证”可以看作一个唯一的URL,通过HTTP方式访问这个URL就可以得到我的车(数据对象)。

下面我们以七牛云平台为例子,实现SpringBoot整合七牛云,实现文件的上传返回文件链接。

二、准备工作

我们需要注册七牛云账户

注册登录后新建空间
在这里插入图片描述

创建空间后,会有一个默认的链接
在这里插入图片描述
我们可以自定义域名,也可以使用官网提供的域名,这里我们以默认的域名为例子

详细创建空间参考:
创建空间教程

三、代码编写

3.1、引入Maven依赖

<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
    <version>[7.7.0, 7.7.99]</version>
</dependency>

3.2、配置yaml文件

qiniu:
  accessKey: xxx # 公钥
  secretKey: xxx # 私钥
  bucketName: race-medical 
  path: http://xxxx.com

公钥与私钥可以到密钥管理处查看

bucket为创建的对象存储的空间名称

path为文件管理中的外链域名(默认使用七牛云测试域名)

3.3、配置类

package com.csust.medicalassistant.config;

import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;

@org.springframework.context.annotation.Configuration
public class UploadConfig {
   

    @Value("${qiniu.accessKey}")
    private String accessKey;
    @Value("${qiniu.secretKey}")
    private String secretKey;

    @Bean
    public Auth getAuth(){
   
        return Auth.create(accessKey,secretKey);
    }

    @Bean
    public UploadManager getUploadManager(){
   
        return new UploadManager(new Configuration());
    }
}

其中Auth.create()传入公钥私钥以创建权限,供UploadManager上传文件时使用

3.4、七牛云工具类

package com.csust.medicalassistant.utils;

import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.UploadManager;
import com.qiniu.util
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

韭菜盖饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值