目的:获取七牛云需要的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;
}