Java连接七牛云-OSS实现图片上传

七牛云介绍

https://s.qiniu.com/MRnIfq

        七牛云OSS是一个旨在帮助开发者存储和管理大量图片、视频和其他数据的云存储服务。它以高可用性、高可靠性和低成本的特点受到了广泛欢迎。
        全球加速:七牛云OSS在全球范围内部署了多个数据中心,可为用户提供低延迟、高速传输的服务。
        安全可靠:七牛云OSS支持数据冗余和多重备份,保障用户数据的安全性和可靠性。
        强大的API:七牛云OSS提供了丰富的API接口,使得开发者可以轻松地在应用中集成文件上传、下载、管理等功能。
        低成本:七牛云OSS提供灵活的计费方式,用户只需按照实际使用付费。

 上传图片步骤

下面是将项目中的图片上传到七牛云OSS的步骤:

1.注册七牛云账号并创建存储空间:

首先,你需要在七牛云官网上注册一个账号,然后创建一个存储空间,用于存放上传的图片。

注册登录自己搞定  https://s.qiniu.com/MRnIfq

创建一个存储空间

空间名称、存储区域、访问控制必填

2.获取访问密钥:

在七牛云控制台中,获取你的访问密钥(AccessKey和SecretKey)。这些密钥将用于授权你的应用访问七牛云OSS。

AK和SK用你自己的,SK一定要保存好

3.引入七牛云Maven依赖:

在你的Maven项目中引入七牛云提供的maven依赖,以便在代码中使用相关功能。

maven依赖

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.qiniu</groupId>
      <artifactId>qiniu-java-sdk</artifactId>
      <version>7.7.0</version>
    </dependency>
    <dependency>
      <groupId>com.squareup.okhttp3</groupId>
      <artifactId>okhttp</artifactId>
      <version>3.14.2</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>2.8.5</version>
      <scope>compile</scope>
    </dependency>
  </dependencies>


4.实现图片上传逻辑:

使用SDK提供的接口,实现将图片上传到七牛云OSS的存储空间中。这通常涉及到生成上传凭证、调用上传方法等。

package org.example.utils;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
public class QiniuyunUtil {
    //设置好访问密钥和密钥秘钥,你自己的AK和SK[40位字母]
    private static final String ACCESS_KEY = "xxxxxxxxxxxxxxxxxxxxxxxx";
    private static final String SECRET_KEY = "xxxxxxxxxxxxxxxxxxxxxxxx";
    //空间名称【自己设置的堆名称】
    private static final String BUCKET_NAME = "xxxxxxxxxx";

    public static String upload(String filename, String filepath){
        Configuration cfg = new Configuration(Region.region0());
        Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);

        UploadManager uploadManager = new UploadManager(cfg);
        StringBuilder stringBuilder = new StringBuilder();
        try{
            Response response = uploadManager.put(filename, filepath, auth.uploadToken(BUCKET_NAME));
            JsonObject jsonObject = new Gson().fromJson(response.bodyString(), JsonObject.class);
            String key = jsonObject.get("key").getAsString();
            stringBuilder
                    // 请求协议
                    .append("https://")
                    // 临时域名【CDN 测试域名】,换成你自己的
                    .append("xxxxxx.com/")
                    // 图片
                    .append(key);
            System.out.println(stringBuilder);
        }catch (QiniuException e){
            e.printStackTrace();
        }
        return stringBuilder.toString();
    }
}

 临时域名用你自己的


5.处理上传结果:

根据上传结果,你可以获取上传后的图片链接,用于在应用中展示或者存储到数据库中。

    public static void main(String[] args) {
        String filename = "E:\\wellpaper\\蜜璃.jpg";
        // 获取后缀.ipg/.png等等
        String extension = filename.substring(filename.indexOf("."));
        // 构造新文件名称,使用UUID设置图片名称不唯一
        String objectName = UUID.randomUUID( ).toString() + extension;
        // 设置七牛云中的存储文件路径
        String filepath = "upload/"+objectName;
        String backPath = upload(filename, filepath);
        System.out.println(backPath);
    }

 上传成功之后,在七牛云的文件管理中查看上传的图片String filepath = "upload/"+objectName;

访问图片步骤

 上传成功之后会返回一直请求链接。

 可以直接访问

完成!

https://s.qiniu.com/MRnIfq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值