diff --git a/pom.xml b/pom.xml
index 2403264..c3609aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -154,6 +154,32 @@
+
+ com.squareup.okhttp3
+ okhttp
+ 3.14.2
+ compile
+
+
+ com.google.code.gson
+ gson
+ 2.8.5
+ compile
+
+
+ com.qiniu
+ happy-dns-java
+ 0.1.6
+ test
+
+
+ junit
+ junit
+ 4.12
+ test
+
+
+
diff --git a/src/main/java/com/grail/common/core/utils/QiNiuUpload.java b/src/main/java/com/grail/common/core/utils/QiNiuUpload.java
index 0eaee23..3a72987 100644
--- a/src/main/java/com/grail/common/core/utils/QiNiuUpload.java
+++ b/src/main/java/com/grail/common/core/utils/QiNiuUpload.java
@@ -33,6 +33,17 @@ public class QiNiuUpload {
return b;
}
+ public String bigFile(MultipartFile file){
+
+ String originalFilename = file.getOriginalFilename();
+
+ String key = UUID.randomUUID().toString().replaceAll("-", "").substring(0, 15);
+
+ String s = QiNiuUtil.bigFile(originalFilename, key);
+
+ return s;
+ }
+
diff --git a/src/main/java/com/grail/common/core/utils/QiNiuUtil.java b/src/main/java/com/grail/common/core/utils/QiNiuUtil.java
index 581cb95..c83a3f3 100644
--- a/src/main/java/com/grail/common/core/utils/QiNiuUtil.java
+++ b/src/main/java/com/grail/common/core/utils/QiNiuUtil.java
@@ -8,8 +8,10 @@ import com.grail.common.core.utils.file.MimeTypeUtils;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
+import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
+import com.qiniu.storage.persistent.FileRecorder;
import com.qiniu.util.Auth;
import com.qiniu.util.UrlSafeBase64;
import com.grail.common.core.config.QiNiuConfig;
@@ -25,6 +27,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
+import java.nio.file.Paths;
/**
* 七牛上传下载工具类
@@ -32,6 +35,44 @@ import java.net.URLEncoder;
**/
@Slf4j
public class QiNiuUtil {
+
+
+
+ public static String bigFile(String localFilePath,String key){
+ Configuration cfg = new Configuration(Region.region0());
+ Auth auth = Auth.create(QiNiuConfig.getInstance().getAccessKey(), QiNiuConfig.getInstance().getSecretKey());
+ String upToken = auth.uploadToken(QiNiuConfig.getInstance().getBucket());
+ String localTempDir = Paths.get(System.getenv("java.io.tmpdir"), QiNiuConfig.getInstance().getBucket()).toString();
+ try {
+ //设置断点续传文件进度保存目录
+ FileRecorder fileRecorder = new FileRecorder(localTempDir);
+ UploadManager uploadManager = new UploadManager(cfg, fileRecorder);
+ try {
+ Response response = uploadManager.put(localFilePath, key, upToken);
+ //解析上传成功的结果
+ DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
+ System.out.println(putRet.key);
+ System.out.println(putRet.hash);
+ } catch (QiniuException ex) {
+ ex.printStackTrace();
+ if (ex.response != null) {
+ System.err.println(ex.response);
+ try {
+ String body = ex.response.toString();
+ System.err.println(body);
+ return body;
+ } catch (Exception ignored) {
+ }
+ }
+ }
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+ return null;
+ }
+
+
+
/**
* 上传本地文件
* @param localFilePath 本地文件完整路径