1、application.yml配置文件
##qiniu账户信息配置##
oss:
qiniu:
accessKey: XXX
secretKey: XXX
urlpre: img.abc.com
bucketName: img-pro
##qiniu账户信息配置##
2、maven配置
<!-- 七牛 -->
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.2.25</version>
</dependency>
3、QiNiuConfig.java 文件
import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;
import com.qiniu.http.Client;
import com.qiniu.http.Response;
import com.qiniu.storage.BucketManager;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
@Component
@ConfigurationProperties(prefix = "oss.qiniu")
public class QiNiuConfig {
private String accessKey;
private String secretKey;
/**
* 文件存储空间名
*/
public String bucketName;
/**
* 文件外链
*/
public String urlpre;
public String getAccessKey() {
return accessKey;
}
public void setAccessKey(String accessKey) {
this.accessKey = accessKey;
}
public String getSecretKey() {
return secretKey;
}
public void setSecretKey(String secretKey) {
this.secretKey = secretKey;
}
public String getBucketName() {
return bucketName;
}
public void setBucketName(String bucketName) {
this.bucketName = bucketName;
}
public String getUrlpre() {
return urlpre;
}
public void setUrlpre(String urlpre) {
this.urlpre = urlpre;
}
private UploadManager uploadManager;
private BucketManager bucketManager;
private Configuration c;
private Client client;
// 密钥配置
private Auth auth;
public Client getClient(){
if (client==null) {
client=new Client(getConfiguration());
}
return client;
}
public BucketManager getBucketManager() {
if (bucketManager == null) {
bucketManager = new BucketManager(getAuth(), getConfiguration());
}
return bucketManager;
}
public UploadManager getUploadManager() {
if (uploadManager == null) {
uploadManager = new UploadManager(getConfiguration());
}
return uploadManager;
}
public Configuration getConfiguration() {
if (c == null) {
Zone z = Zone.autoZone();
c = new Configuration(z);
}
return c;
}
public Auth getAuth() {
if (auth == null) {
auth = Auth.create(getAccessKey(), getSecretKey());
}
return auth;
}
/**
* 简单上传模式的凭证
*/
public String getToken() {
return getAuth().uploadToken(getBucketName());
}
/**
* 覆盖上传模式的凭证
*/
public String getToken(String fileKey) {
return getAuth().uploadToken(getBucketName(), fileKey);
}
}
4、测试
import com.vcore.magicshow.config.QiNiuConfig;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/v1/qiniutest")
public class QiniuTestController {
@Autowired
private QiNiuConfig qiNiuConfig;
/**
* 获取上传Token
* @return
*/
@PostMapping("getQiniuToken")
public String pageList() {
return qiNiuConfig.getUpToken();
}
}