七牛云集成于springboot

七牛云集成于springboot

在使用七牛云之前需要注册七牛云,最好需要有自己域名,因为七牛云只会提供一个月的测试域名。

七牛云的注册

  1. 登录七牛云

  2. 添加对象存储
    在这里插入图片描述

  3. 看着填吧,第一个随便填,第二个随便选,最后配置地域即可,访问控制选择公开吧
    在这里插入图片描述

  4. 给自己的七牛云绑定域名,也可使用一月的测试域名(不推荐)
    在这里插入图片描述

  5. 去自己的域名解析的地方配置
    如何配置域名的CNAME
    在这里插入图片描述

在这里插入图片描述

七牛云集成于springboot

  1. 导入依赖
        <!--七牛-->
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.2.7</version>
        </dependency>
  1. 导入工具类
package com.mx.utils;

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
import lombok.extern.slf4j.Slf4j;

import java.io.FileInputStream;

@Slf4j
public class QiNiuUtil {
    // 设置需要操作的账号的AK和SK
    private static final String ACCESS_KEY = "RI_nUAhIlMElPW98QxQckQOBHPSZCwZCCZvqn4Tw";
    private static final String SECRET_KEY = "BrdYIUx7BC4tOiFz_eNwlmMDupDzdywpI2JYobjd";

    // 要上传的空间名称
    private static final String BUCKETNAME = "mx2432544821";

    // 密钥
    private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);

    // 外链默认域名
    private static final String DOMAIN = "qhixpzwpb.hn-bkt.clouddn.com";


    /**
     * 将图片上传到七牛云
     */
    public static String uploadQNImg(FileInputStream file, String key) {
        // 构造一个带指定Zone对象的配置类, 注意这里的Zone.zone0需要根据主机选择
        UploadManager uploadManager = new UploadManager(new Configuration(Zone.zone2()));
        Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY );
        // 根据命名空间生成的上传token
        String path=null;
        String token = auth.uploadToken(BUCKETNAME);
        try{
            // 上传图片文件
            Response res = uploadManager.put(file, key, token, null, null);
            if (!res.isOK()) {
                throw new RuntimeException("上传七牛出错:" + res.toString());
            }
            // 解析上传成功的结果
            DefaultPutRet putRet = new Gson().fromJson(res.bodyString(), DefaultPutRet.class);

            path = DOMAIN + "/" + putRet.key;
            // 这个returnPath是获得到的外链地址,通过这个地址可以直接打开图片

        }catch (QiniuException e){
            e.printStackTrace();
        }
        return path;
    }
}

  1. 调用工具类
		String path = null;
       // 获取文件的名称
       String fileName = file.getOriginalFilename();
       // 使用工具类根据上传文件生成唯一图片名称
       String imgName = UUID.randomUUID().toString()+fileName;
       if (!file.isEmpty()) {
       		//此处需要抛出异常
           FileInputStream inputStream = (FileInputStream) file.getInputStream();
           //由于有http才算远程链接  否则会请求当前ip和端口下的文件
           path ="http://"+ QiNiuUtil.uploadQNImg(inputStream, imgName);
           System.out.print("七牛云返回的图片链接:" + path);
       }

tips:工具类中的Zone.zone2()需要按情况更改

 UploadManager uploadManager = new UploadManager(new Configuration(Zone.zone2()));

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值