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