目的:获取七牛云需要的token

 

简单说明:本来服务器只需要返回一个 token 就好了, 但是我这里多返回了一个 UUID 的字符串。我是把它当作文件的名称,防止重复,不想用,也可以不用。

 

主要代码(下面三个 空格 ,不用说应该也知道填什么吧)返回的是 json 格式

注:我在类上面使用了  @RestController 注解。 如果你只是使用的 @Controller 在需要在方法上面加一个 @ResponseBody  


// 获取 七牛云的 token
    @RequestMapping(value = "/getToken", method = RequestMethod.GET)
    public QiNiu getToken() {
        QiNiu qiNiu = new QiNiu();
        String accessKey = "";
        String secretKey = "";
        String bucket = "";
        long expireSeconds = 600;   //过期时间
        StringMap putPolicy = new StringMap();
        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket,null, expireSeconds,putPolicy);
        qiNiu.setKey(UUID.randomUUID().toString().replaceAll("\\-", ""));
        qiNiu.setToken(upToken);
        return qiNiu;
    };

 

maven 依赖

<!--七牛云上传相关-->
        <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>

QiNiu 实体(如果你没有安装 lombok插件,就删除 @Data 注解,然后添加 set/get )

package com.xdx97.backstage.vo;

import lombok.Data;

@Data
public class QiNiu {
    private String token;
    private String key;
}