上传图片,视频等文件到七牛云对象存储上

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yu_hongrun/article/details/84067741

官网参考文档:https://developer.qiniu.com/kodo/sdk/1239/java

上传图片:

需要用到的参数:

1、AccessKey (在“个人中心”–>“秘钥管理”中)

2、SecretKey (在“个人中心”–>“秘钥管理”中)

3、存储空间名字(自己创建的)

1、创建一个Maven项目

pom.xml

 <!--七牛云对象存储-->
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.2.11</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>3.3.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.6.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>happy-dns-java</artifactId>
            <version>0.1.4</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

创建test111.java文件用来测试,名字自己随意

package com.yu.admin.controller;

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.util.Auth;

import java.io.IOException;

public class test111 {
    private static int getRandom(int count) {
        return (int) Math.round(Math.random() * (count));
    }

    private static String string = "abcdefghijklmnopqrstuvwxyz";

    private static String getRandomString(int length) {
        StringBuffer sb = new StringBuffer();
        int len = string.length();
        for (int i = 0; i < length; i++) {
            sb.append(string.charAt(getRandom(len - 1)));
        }
        return sb.toString();
    }

    //构造一个带指定Zone对象的配置类
    Configuration cfg = new Configuration(Zone.zone0());
    // 设置好账号的ACCESS_KEY和SECRET_KEY
    String ACCESS_KEY = "Iyzn9uW3_9gSomViUnHl9S4cQ2wr0MH"; // 这两个登录七牛
    // 账号里面可以找到  进入 个人面板->个人中心->密钥管理可找到
    String SECRET_KEY = "x7FEFFBDcSqaQLpPMq2NKVXcooY0H";//

    // 要上传的空间
    String bucketname = "images"; // 填写新建的那个存储空间对象的名称
    // 上传到七牛后保存的文件名
    String key = getRandomString(10) + ".jpg";//七牛云服务器里用来对应唯一上传的文件
    // String audioUrl = "在七牛云中找到";
    // String imagesUrl = "在七牛云中找到";
    // 上传文件的路径
    String FilePath = "d:\\zz.jpg"; // 本地要上传文件路径

    // 密钥配置
    Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
    // 创建上传对象

    UploadManager uploadManager = new UploadManager(cfg,null);

    // 简单上传,使用默认策略,只需要设置上传的空间名就可以了 //
    public String getUpToken() {
        return auth.uploadToken(bucketname);
    }

    // 普通上传
    public void upload() throws IOException {
        try {
            // 调用put方法上传
            Response res = uploadManager.put(FilePath, key, getUpToken());
            // 打印返回的信息

            System.out.println(res.isOK());

            System.out.println(res.bodyString());
        } catch (QiniuException e) {
            Response r = e.response;
            // 请求失败时打印的异常的信息
            System.out.println(r.toString());
            try {
                // 响应的文本信息
                System.out.println(r.bodyString());
            } catch (QiniuException e1) {
                // ignore
            }
        }
    }

    public static void main(String args[]) throws IOException {
        new test111().upload();
    }
}

运行结果:
在这里插入图片描述

由上图可知,上传后的文件名为:jllkctmpmc.jpg,然后我们去七牛云上看是否存在刚才上传的文件,有则成功上传,否则失败。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yu_hongrun/article/details/84067741