|
@@ -30,6 +30,8 @@ import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.File;
|
|
|
+import java.nio.file.Files;
|
|
|
+import java.nio.file.Path;
|
|
|
import java.nio.file.Paths;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
@@ -136,10 +138,10 @@ public class DataController extends BaseController {
|
|
|
@PostMapping("/zip/upload")
|
|
|
public CommonResult<SysOssUploadVo> uploadZipFile(@RequestParam("file") MultipartFile file, @RequestParam("excelFile") MultipartFile excelFile) throws Exception {
|
|
|
|
|
|
- List<DataVo> userList = ExcelUtil.importExcel(excelFile.getInputStream(),DataVo.class);
|
|
|
+ List<DataVo> dataVos = ExcelUtil.importExcel(excelFile.getInputStream(),DataVo.class);
|
|
|
Map<String, Data> picName2Obj = new HashMap<>();
|
|
|
//为插入数据库做准备
|
|
|
- for(DataVo dataVo:userList){
|
|
|
+ for(DataVo dataVo:dataVos){
|
|
|
picName2Obj.put(dataVo.getName(), MapstructUtils.convert(dataVo, Data.class));
|
|
|
}
|
|
|
String originalFilename = file.getOriginalFilename();
|
|
@@ -149,7 +151,7 @@ public class DataController extends BaseController {
|
|
|
|
|
|
// 解压
|
|
|
String basedir = TaaisConfig.getUploadPath();
|
|
|
- File zipOrRarTemp = FileUploadUtils.getAbsoluteFile(basedir,FileUploadUtils.extractFilename(file));// 解压目录
|
|
|
+ File zipOrRarTemp = FileUploadUtils.getAbsoluteFile(basedir,FileUploadUtils.extractFilename2(file));// 解压目录
|
|
|
String destZip = zipOrRarTemp.getAbsolutePath();
|
|
|
|
|
|
file.transferTo(Paths.get(destZip));
|
|
@@ -162,9 +164,9 @@ public class DataController extends BaseController {
|
|
|
for(FileHeader fileHeader : fileheaders) {
|
|
|
if (!fileHeader.isDirectory()) {
|
|
|
String fileHeaderName = fileHeader.getFileName();
|
|
|
- String fileHeader_suffix = StringUtils.substring(fileHeaderName, fileHeaderName.lastIndexOf("."), fileHeaderName.length());
|
|
|
- if(!fileHeader_suffix.equals(".jpg")&&!fileHeader_suffix.equals(".jpeg")
|
|
|
- &&!fileHeader_suffix.equals(".png")){
|
|
|
+ String fileHeaderSuffix = StringUtils.substring(fileHeaderName, fileHeaderName.lastIndexOf("."), fileHeaderName.length());
|
|
|
+ if(!fileHeaderSuffix.equals(".jpg")&&!fileHeaderSuffix.equals(".jpeg")
|
|
|
+ &&!fileHeaderSuffix.equals(".png")){
|
|
|
continue;
|
|
|
}
|
|
|
extractedFileList.add(new File(dest,fileHeader.getFileName()));
|
|
@@ -182,9 +184,9 @@ public class DataController extends BaseController {
|
|
|
|
|
|
if (!fileHeader.isDirectory()) {
|
|
|
String fileHeaderName = fileHeader.getFileName();
|
|
|
- String fileHeader_suffix = StringUtils.substring(fileHeaderName, fileHeaderName.lastIndexOf("."), fileHeaderName.length());
|
|
|
- if(!fileHeader_suffix.equals(".jpg")&&!fileHeader_suffix.equals(".jpeg")
|
|
|
- &&!fileHeader_suffix.equals(".png")){
|
|
|
+ String fileHeaderSuffix = StringUtils.substring(fileHeaderName, fileHeaderName.lastIndexOf("."), fileHeaderName.length());
|
|
|
+ if(!fileHeaderSuffix.equals(".jpg")&&!fileHeaderSuffix.equals(".jpeg")
|
|
|
+ &&!fileHeaderSuffix.equals(".png")){
|
|
|
continue;
|
|
|
}
|
|
|
extractedFileList.add(new File(dest,fileHeader.getFileName()));
|
|
@@ -192,14 +194,17 @@ public class DataController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- for(File efile:extractedFileList){
|
|
|
- String fileName = FileUploadUtils.getPathFileName(dest,efile.getName());
|
|
|
- String url = serverConfig.getUrl() + fileName;
|
|
|
- url = url.replaceAll("\\\\", "/");
|
|
|
+ for(File efile:extractedFileList) {
|
|
|
+ String pathFileName = FileUploadUtils.getPathFileName(dest,efile.getName());
|
|
|
Data mydata = picName2Obj.get(efile.getName());
|
|
|
|
|
|
- // TODO: 将导入的excel表和url一起插入数据库,图片名称对应
|
|
|
- mydata.setUrl(url);
|
|
|
+ // 检查是否已标准抓住
|
|
|
+ if(checkLabeled(pathFileName)){
|
|
|
+ mydata.setLabeled(Boolean.TRUE);
|
|
|
+ } else {
|
|
|
+ mydata.setLabeled(Boolean.FALSE);
|
|
|
+ }
|
|
|
+ mydata.setUrl(pathFileName);
|
|
|
dataService.save(mydata);
|
|
|
}
|
|
|
//删除压缩文件
|
|
@@ -208,4 +213,18 @@ public class DataController extends BaseController {
|
|
|
|
|
|
return CommonResult.success("数据集上传成功!");
|
|
|
}
|
|
|
+
|
|
|
+ // 检查有没有标注信息有的话把标注数据置为已标注
|
|
|
+ private boolean checkLabeled(String pathFileName) {
|
|
|
+ Path path = Paths.get(TaaisConfig.getProfile()+pathFileName);
|
|
|
+
|
|
|
+ // 获取文件名并替换后缀
|
|
|
+ String newFileName = path.getFileName().toString().replaceFirst("[.][^.]+$", "") + ".txt";
|
|
|
+
|
|
|
+ // 创建新的Path对象
|
|
|
+ Path newPath = path.resolveSibling(newFileName);
|
|
|
+
|
|
|
+ // 检查替换后的文件是否存在
|
|
|
+ return Files.exists(newPath);
|
|
|
+ }
|
|
|
}
|