Skip to content
This repository was archived by the owner on Mar 6, 2024. It is now read-only.

Commit 21cac85

Browse files
committed
重构文件下载部分
1 parent dd26022 commit 21cac85

File tree

5 files changed

+47
-160
lines changed

5 files changed

+47
-160
lines changed

config.json

Lines changed: 12 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,13 @@
11
{
2-
"accessKey": "dSVVN1U-9NJrPPpiidjjh26Iyk0g8i3S5Uh922Kf",
3-
"secretKey": "Up3J2F0Ay9dH-Htc4wMu3eee4kMa1ifP9g43-ucW",
4-
"buckets": [
5-
{
6-
"bucket": "share",
7-
"zone": "华南",
8-
"url": "share.qiniu.segocat.com"
9-
}
10-
],
11-
"prefix": [
12-
"tools/zhazhapan/",
13-
"zhazhapan/md/",
14-
"pantao/resume/",
15-
"pantao/photo/",
16-
"pantao/certificate/",
17-
"blogs/",
18-
"zhazhapan/paper/",
19-
"zhazhapan/pdf/",
20-
"zhazhapan/mp4/",
21-
"tutorial/vspider/",
22-
"pantao/identify/",
23-
"git/efo/",
24-
"yunshi/document/"
25-
],
26-
"download": "/Users/pantao/Desktop"
27-
}
2+
"accessKey":"dSVVN1U-9NJrPPpiidjjh26Iyk0g8i3S5Uh922Kf",
3+
"buckets":[
4+
{
5+
"bucket":"share",
6+
"url":"share.qiniu.segocat.com",
7+
"zone":"华南"
8+
}
9+
],
10+
"prefixes":[],
11+
"secretKey":"Up3J2F0Ay9dH-Htc4wMu3eee4kMa1ifP9g43-ucW",
12+
"storagePath":"/Users/pantao/Desktop"
13+
}

src/main/java/org/code4everything/qiniu/api/QiManager.java

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import org.code4everything.qiniu.api.config.SdkConfigurer;
2121
import org.code4everything.qiniu.constant.QiniuValueConsts;
2222
import org.code4everything.qiniu.controller.MainWindowController;
23-
import org.code4everything.qiniu.downloader.Downloader;
2423
import org.code4everything.qiniu.model.FileInfo;
2524
import org.code4everything.qiniu.util.QiniuUtils;
2625
import org.code4everything.qiniu.view.Dialogs;
@@ -168,10 +167,9 @@ public void downloadCdnLog(String logDate) {
168167
}
169168
try {
170169
CdnResult.LogListResult logRes = SdkConfigurer.getCdnManager().getCdnLogList(domains, logDate);
171-
Downloader downloader = new Downloader();
172170
for (Map.Entry<String, LogData[]> logs : logRes.data.entrySet()) {
173171
for (LogData log : logs.getValue()) {
174-
downloader.downloadFromNet(log.url);
172+
QiniuUtils.download(log.url);
175173
}
176174
}
177175
} catch (QiniuException e) {
@@ -209,31 +207,23 @@ private void refreshFile(String[] files) {
209207
}
210208
}
211209

212-
public void privateDownload(String fileName, String domain) {
213-
privateDownload(fileName, domain, new Downloader());
214-
}
215-
216210
/**
217211
* 私有下载
218212
*/
219-
public void privateDownload(String fileName, String domain, Downloader downloader) {
213+
public void privateDownload(String fileName, String domain) {
220214
// 自定义链接过期时间(小时)
221215
long expireInSeconds = 24;
222216
String publicURL = getPublicURL(fileName, domain);
223-
downloader.downloadFromNet(SdkConfigurer.getAuth().privateDownloadUrl(publicURL, expireInSeconds));
224-
}
225-
226-
public void publicDownload(String fileName, String domain) {
227-
publicDownload(fileName, domain, new Downloader());
217+
QiniuUtils.download(SdkConfigurer.getAuth().privateDownloadUrl(publicURL, expireInSeconds));
228218
}
229219

230220
/**
231221
* 公有下载
232222
*/
233-
public void publicDownload(String fileName, String domain, Downloader downloader) {
223+
public void publicDownload(String fileName, String domain) {
234224
String url = getPublicURL(fileName, domain);
235225
if (Checker.isNotEmpty(url)) {
236-
downloader.downloadFromNet(url);
226+
QiniuUtils.download(url);
237227
}
238228
}
239229

src/main/java/org/code4everything/qiniu/controller/MainWindowController.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
import org.code4everything.qiniu.api.QiManager;
2727
import org.code4everything.qiniu.api.config.SdkConfigurer;
2828
import org.code4everything.qiniu.constant.QiniuValueConsts;
29-
import org.code4everything.qiniu.downloader.Downloader;
3029
import org.code4everything.qiniu.model.FileInfo;
3130
import org.code4everything.qiniu.util.ConfigUtils;
3231
import org.code4everything.qiniu.util.QiniuUtils;
@@ -377,7 +376,7 @@ public void refreshFile() {
377376
*/
378377
public void downloadFromURL() {
379378
String url = Dialogs.showInputDialog(null, QiniuValueConsts.DOWNLOAD_URL, "http://example.com");
380-
new Downloader().downloadFromNet(url);
379+
QiniuUtils.download(url);
381380
}
382381

383382
/**
@@ -404,16 +403,15 @@ private void download(DownloadWay way) {
404403
if (Checker.isNotEmpty(selectedItems)) {
405404
QiManager manager = new QiManager();
406405
String domain = "http://" + bucketDomainTextField.getText();
407-
Downloader downloader = new Downloader();
408406
if (way == DownloadWay.PUBLIC) {
409407
logger.debug("start to public download");
410408
for (FileInfo fileInfo : selectedItems) {
411-
manager.publicDownload(fileInfo.getName(), domain, downloader);
409+
manager.publicDownload(fileInfo.getName(), domain);
412410
}
413411
} else {
414412
logger.debug("start to private download");
415413
for (FileInfo fileInfo : selectedItems) {
416-
manager.privateDownload(fileInfo.getName(), domain, downloader);
414+
manager.privateDownload(fileInfo.getName(), domain);
417415
}
418416
}
419417
}

src/main/java/org/code4everything/qiniu/downloader/Downloader.java

Lines changed: 0 additions & 114 deletions
This file was deleted.

src/main/java/org/code4everything/qiniu/util/QiniuUtils.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
11
package org.code4everything.qiniu.util;
22

3+
import cn.hutool.core.lang.Validator;
4+
import cn.hutool.http.HttpUtil;
35
import com.zhazhapan.util.FileExecutor;
46
import com.zhazhapan.util.Formatter;
7+
import com.zhazhapan.util.ThreadPool;
58
import com.zhazhapan.util.Utils;
69
import com.zhazhapan.util.dialog.Alerts;
710
import org.apache.log4j.Logger;
11+
import org.code4everything.qiniu.QiniuApplication;
812
import org.code4everything.qiniu.api.config.SdkConfigurer;
913
import org.code4everything.qiniu.constant.QiniuValueConsts;
14+
import org.code4everything.qiniu.view.Dialogs;
1015

1116
import java.io.File;
1217
import java.io.IOException;
@@ -24,6 +29,28 @@ public class QiniuUtils {
2429

2530
private QiniuUtils() {}
2631

32+
/**
33+
* 下载文件
34+
*
35+
* @param url 文件链接
36+
*/
37+
public static void download(String url) {
38+
// 验证存储路径
39+
if (Validator.isEmpty(QiniuApplication.getConfigBean().getStoragePath())) {
40+
// 显示存储路径输入框
41+
String storagePath = Dialogs.showInputDialog(null, QiniuValueConsts.CONFIG_DOWNLOAD_PATH,
42+
Utils.getCurrentWorkDir());
43+
if (Validator.isEmpty(storagePath)) {
44+
return;
45+
}
46+
QiniuApplication.getConfigBean().setStoragePath(storagePath);
47+
ConfigUtils.writeConfig();
48+
}
49+
final String dest = QiniuApplication.getConfigBean().getStoragePath();
50+
// 下载文件
51+
ThreadPool.executor.execute(() -> HttpUtil.downloadFile(url, dest));
52+
}
53+
2754
/**
2855
* 检查是否连接网络
2956
*/

0 commit comments

Comments
 (0)