Commit 5ccb8ba8 by zhangyang

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

parent 4f4da885
......@@ -59,6 +59,9 @@ public class CompressDTO extends BaseDto {
@ApiModelProperty(name = "文件大小", dataType = "Long")
private long fileSize;
@ApiModelProperty(name = "目录名称", dataType = "String")
private String dirName;
public String getFileName() {
return fileName;
}
......@@ -83,6 +86,14 @@ public class CompressDTO extends BaseDto {
this.fileSize = fileSize;
}
public String getDirName() {
return dirName;
}
public void setDirName(String dirName) {
this.dirName = dirName;
}
@Override
public String toString() {
return "CompressFileDTO " + JSON.toJSONString(this);
......
......@@ -5,6 +5,7 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -83,7 +84,8 @@ public class CompressUtils {
for (int i = 0; i < size; i++) {
CompressFileDTO compressFileDTO = compressFileDTOs.get(i);
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) {
String zipName = compressDTO.getCompressName() + "_" + index;
UploadResultInfo uploadResultInfo = zip(fileUrlList, zipName);
......@@ -116,7 +118,7 @@ public class CompressUtils {
* @throws BizException
*/
public static UploadResultInfo zip(List<String[]> fileUrlList, String zipName) throws BizException {
LOGGER.info("【压缩】压缩文件.<START>");
LOGGER.info("【压缩】压缩文件.<START>...");
if (ListUtils.isEmpty(fileUrlList)) {
return null;
}
......@@ -130,10 +132,19 @@ public class CompressUtils {
try {
// 下载文件到文件夹中
int idx = 1;
String downloadPath;
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 fileName = FileUtils.formatName(files[0]);
String downloadLocalPath = fileFolderPath + "/" + fileName + "_" + idx + "." + fileType;
String downloadLocalPath = downloadPath + "/" + fileName + "_" + idx + "." + fileType;
FileUtils.downloadFileFromUrl(files[1], downloadLocalPath);
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