Commit 5ccb8ba8 by zhangyang

[none] 压缩资源包增加目录处理

parent 4f4da885
...@@ -59,6 +59,9 @@ public class CompressDTO extends BaseDto { ...@@ -59,6 +59,9 @@ public class CompressDTO extends BaseDto {
@ApiModelProperty(name = "文件大小", dataType = "Long") @ApiModelProperty(name = "文件大小", dataType = "Long")
private long fileSize; private long fileSize;
@ApiModelProperty(name = "目录名称", dataType = "String")
private String dirName;
public String getFileName() { public String getFileName() {
return fileName; return fileName;
} }
...@@ -83,6 +86,14 @@ public class CompressDTO extends BaseDto { ...@@ -83,6 +86,14 @@ public class CompressDTO extends BaseDto {
this.fileSize = fileSize; this.fileSize = fileSize;
} }
public String getDirName() {
return dirName;
}
public void setDirName(String dirName) {
this.dirName = dirName;
}
@Override @Override
public String toString() { public String toString() {
return "CompressFileDTO " + JSON.toJSONString(this); return "CompressFileDTO " + JSON.toJSONString(this);
......
...@@ -5,6 +5,7 @@ import java.io.File; ...@@ -5,6 +5,7 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -83,7 +84,8 @@ public class CompressUtils { ...@@ -83,7 +84,8 @@ public class CompressUtils {
for (int i = 0; i < size; i++) { for (int i = 0; i < size; i++) {
CompressFileDTO compressFileDTO = compressFileDTOs.get(i); CompressFileDTO compressFileDTO = compressFileDTOs.get(i);
totalFileSize += compressFileDTO.getFileSize(); totalFileSize += compressFileDTO.getFileSize();
fileUrlList.add(new String[]{compressFileDTO.getFileName(), compressFileDTO.getFileUrl()}); String dirName = compressFileDTO.getDirName();
fileUrlList.add(new String[]{compressFileDTO.getFileName(), compressFileDTO.getFileUrl(),compressFileDTO.getDirName()});
if (totalFileSize > CUT_SIZE) { if (totalFileSize > CUT_SIZE) {
String zipName = compressDTO.getCompressName() + "_" + index; String zipName = compressDTO.getCompressName() + "_" + index;
UploadResultInfo uploadResultInfo = zip(fileUrlList, zipName); UploadResultInfo uploadResultInfo = zip(fileUrlList, zipName);
...@@ -116,7 +118,7 @@ public class CompressUtils { ...@@ -116,7 +118,7 @@ public class CompressUtils {
* @throws BizException * @throws BizException
*/ */
public static UploadResultInfo zip(List<String[]> fileUrlList, String zipName) throws BizException { public static UploadResultInfo zip(List<String[]> fileUrlList, String zipName) throws BizException {
LOGGER.info("【压缩】压缩文件.<START>"); LOGGER.info("【压缩】压缩文件.<START>...");
if (ListUtils.isEmpty(fileUrlList)) { if (ListUtils.isEmpty(fileUrlList)) {
return null; return null;
} }
...@@ -130,10 +132,19 @@ public class CompressUtils { ...@@ -130,10 +132,19 @@ public class CompressUtils {
try { try {
// 下载文件到文件夹中 // 下载文件到文件夹中
int idx = 1; int idx = 1;
String downloadPath;
for (String[] files : fileUrlList) { for (String[] files : fileUrlList) {
// 检查临时文件夹是否存在,不存在就创建
if (files.length>2 && !StringUtil.isEmpty(files[2])) {
String catalogFolderPath = fileFolderPath + "/" + files[2];
FileUtils.isDir(catalogFolderPath);
downloadPath = catalogFolderPath;
} else {
downloadPath = fileFolderPath;
}
String fileType = FileUtils.getFileType(files[1]); String fileType = FileUtils.getFileType(files[1]);
String fileName = FileUtils.formatName(files[0]); String fileName = FileUtils.formatName(files[0]);
String downloadLocalPath = fileFolderPath + "/" + fileName + "_" + idx + "." + fileType; String downloadLocalPath = downloadPath + "/" + fileName + "_" + idx + "." + fileType;
FileUtils.downloadFileFromUrl(files[1], downloadLocalPath); FileUtils.downloadFileFromUrl(files[1], downloadLocalPath);
idx++; idx++;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment