12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.miniframe.mdo.controller;
- import com.miniframe.core.ext.UtilTools;
- import com.miniframe.mdo.service.FileService;
- import com.miniframe.mdo.service.factory.FileProcessorFactory;
- import com.miniframe.mdo.service.processor.FileProcessor;
- import com.miniframe.mdo.utils.FileUtils;
- import com.miniframe.model.mdo.MdoProFfd;
- import com.miniframe.model.mdo.dao.MdoProFfdMapper;
- import com.miniframe.model.system.SysFile;
- import com.miniframe.model.system.dao.SysFileMapper;
- import com.miniframe.tools.XIFileUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.util.ResourceUtils;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.PathVariable;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
- import java.io.File;
- import java.util.HashMap;
- import java.util.Map;
- @RestController
- public class GeoInfoExtractController {
- @Autowired
- private FileProcessorFactory fileProcessorFactory;
- @RequestMapping("/getXyz/{fid}")
- public Map<String, Object> getXyz(@PathVariable("fid") String fid) throws Exception {
- Map<String, Object> result = new HashMap<>();
- SysFileMapper sysFileDAO = UtilTools.getBean(SysFileMapper.class);
- SysFile sysFile = sysFileDAO.selectByPrimaryKey(fid);
- if(sysFile!=null){
- String filepath=XIFileUtils.getRootPathStr()+"/"+sysFile.getFilepath();
- File file = new File(filepath);
- // 获取文件后缀
- String fileExtension = FileUtils.getFileExtension(file.getName());
- // 根据后缀获取对应的处理器
- FileProcessor processor = fileProcessorFactory.getProcessor(fileExtension);
- if (processor == null) {
- throw new UnsupportedOperationException("Unsupported file type: " + fileExtension);
- }
- Map<String, Object> content = processor.processFile(file.getAbsolutePath());
- // 将文件内容和数据集类型放入结果中
- result.put("data", content);
- }
- return result;
- }
- }
|