栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【云存储】使用 七牛云 云存储实现文件上传

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【云存储】使用 七牛云 云存储实现文件上传

文章目录
  • 【前言】
  • 【正文】
    • (1)注册账号
    • (2)新建存储空间
      • 1)点击 管理控制台
      • 2)选中 对象存储-立即添加
      • 3)新建空间
      • 4)起空间名称
    • (3)查看存储空间信息
    • (4)使用 Java SDK 实现功能
      • 1)查看文档
      • 2)鉴权
      • 3)实现文件上传
        • 第一步:查看操作步骤
        • 第二步:导入jar包
        • 第三步:建测试类
        • 第四步:运行测试类
        • 第五步:上传完成
      • 4)文件删除
        • 第一步:查看操作步骤
        • 第二步:建测试方法
        • 第三步:运行测试方法
        • 第四步:成功删除
    • (5)封装工具类
  • 【结语】


【前言】

根据项目需求,需要实现图片存储功能,下面是常见的图片存储的实现方案。经研究选用七牛云云存储,下面介绍如何使用。


【正文】 (1)注册账号

官网地址:https://qmall.qiniu.com/

进行邮箱验证和实名认证之后,可以获得试用机会。

(2)新建存储空间

可以创建多个存储空间,各个存储空间是相互独立的

1)点击 管理控制台

2)选中 对象存储-立即添加

3)新建空间

4)起空间名称

(3)查看存储空间信息

点击概览,可查看空间详细信息

(4)使用 Java SDK 实现功能 1)查看文档

打开开发者中心:

网址:https://developer.qiniu.com/


进入对象存储:

2)鉴权

Java SDK的所有的功能,都需要合法的授权。
授权凭证的签算需要七牛账号下的一对有效的Access Key和Secret Key

查看密钥:

1、点击密钥管理:

2、查看生成的密钥:

3)实现文件上传 第一步:查看操作步骤

第二步:导入jar包

由于项目使用的是maven,所以导入maven的jar包

    
      com.qiniu
      qiniu-java-sdk
      [7.7.0, 7.7.99]
    
第三步:建测试类

package com.qnylearn.test;

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 org.junit.Test;

import javax.swing.plaf.synth.Region;




public class TestQiNiu {

    @Test
    public void testUpload(){
        //构造一个带指定 Region 对象的配置类

        
        Configuration cfg = new Configuration(Zone.zone2());
        //...其他参数参考类注释

        UploadManager uploadManager = new UploadManager(cfg);
        //...生成上传凭证,然后准备上传
        //填写自己的密钥和空间名称
        String accessKey = "uejiEbAPSe3L6nBDrN2DeDGLaA0nq_6xFNksYcl";
        String secretKey = "eVyjJv9TLy0A0aPAvnWpv5Mly9WWfexvDzBcBpb";
        String bucket = "meiniantxg";
        //如果是linux情况下,格式是 D:/qiniu/test.png
        String localFilePath = "H:\图片\111.jpg";
        //默认不指定key的情况下,以文件内容的hash值作为文件名
        String key = null;

        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);

        try {
            Response response = uploadManager.put(localFilePath, key, upToken);
            //解析上传成功的结果
            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
            System.out.println(putRet.key);
            System.out.println(putRet.hash);
        } catch (QiniuException ex) {
            Response r = ex.response;
            System.err.println(r.toString());
            try {
                System.err.println(r.bodyString());
            } catch (QiniuException ex2) {
                //ignore
            }
        }
    }
}
第四步:运行测试类

查看控制台中打印的Key值,与七牛云中文件所上传到的空间的key值一致

控制台:

存储空间:

第五步:上传完成

可查看所上传文件的详情:

4)文件删除 第一步:查看操作步骤

打开资源管理中的 删除空间中的文件,查看操作步骤

第二步:建测试方法
    @Test
    public void testDel(){
        //构造一个带指定 Region 对象的配置类
        Configuration cfg = new Configuration(Zone.zone2());
//...其他参数参考类注释

        String accessKey = "uejiEbAPSe3L6nBDrN2DeDGLaA0nq_6xFNksYcl";
        String secretKey = "eVyjJv9TLy0A0aPAvnWpv5Mly9WWfexvDzBcBpb";

        String bucket = "meiniantxg";
        String key = "FgCPIGOPDKr49Q8ZsJSsV3QYIUjG";

        Auth auth = Auth.create(accessKey, secretKey);
        BucketManager bucketManager = new BucketManager(auth, cfg);
        try {
            bucketManager.delete(bucket, key);
        } catch (QiniuException ex) {
            //如果遇到异常,说明删除失败
            System.err.println(ex.code());
            System.err.println(ex.response.toString());
        }
    }
第三步:运行测试方法

第四步:成功删除

查看七牛云空间显示 key 值为 FgCPIGOPDKr49Q8ZsJSsV3QYIUjG 的文件已删除

(5)封装工具类

可以将上述功能封装为工具类使用,在此就不赘述。

【结语】

上述就是云存储实现文件上传与删除的步骤啦,欢迎各位大佬在评论区交流~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/314396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号