1.代码
package com.mindskip.xzs;
import com.google.gson.Gson;
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.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
/**
* 七牛 java sdk 简单上传,覆盖上传,文件上传
* @author yunlingfly
*/
public class SimpleUpload {
public static void main(String[] args) {
String accessKey = "xxx";
String secretKey = "xxx";
String bucket = "xzs123";
Configuration configuration = new Configuration(Zone.zone2());
UploadManager manager = new UploadManager(configuration);
String key = "xzs-mysql.sql";
Auth auth = Auth.create(accessKey, secretKey);
String upToken = auth.uploadToken(bucket);
String localFilePath = "C:\\Users\\ASUS\\Desktop\\xzs-mysql.sql";
Response response = null;
try {
response = manager.put(localFilePath, key, upToken);
DefaultPutRet set = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
System.out.println(set.key);
System.out.println(set.hash);
} catch (QiniuException e) {
Response r = e.response;
System.err.println(r.toString());
}
}
}
2.有报错
*info ===== <QNResponseInfo= id: CB441DB1-B50D-472A-8DAB-B07700E102C5, ver: 7.1.6, status: 400, requestId:XXXX, XXXX, xlog: RA:122.224.95.105:80;UP/400;NUPROXY:28/400, xvia: (null), host: upload.qiniu.com ip: 180.97.72.163 duration: 0.068638 s time: 1503737206 error: Error Domain=qiniu.com Code=400 “(null)” UserInfo={error=incorrect region, please use up-z2.qiniu.com}>*
问题原因:
创建七牛云存储空间时选择了华南地区,但上传文件的配置类中配置了其他地区
解决办法:
在配置Configuration类的时候,按需选择Zone的类型即可
//Zone.zone0:华东
//Zone.zone1:华北
//Zone.zone2:华南
//Zone.zoneNa0:北美
//———http上传,自动识别上传区域——
//Zone.httpAutoZone
//———https上传,自动识别上传区域—— //Zone.httpsAutoZone
//指定上传文件服务器地址:
Configuration cfg = new Configuration(Zone.zone2());
详细教程springboot上传图片可参考:https://blog.csdn.net/qq_33924360/article/details/89153493