123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- package com.onemap.file.controller;
- import com.onemap.common.core.domain.UploadZipDTO;
- import com.onemap.common.core.web.domain.RequestResult;
- import com.onemap.file.domain.ShpFileDTO;
- import com.onemap.system.api.domain.GhtgCl;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import com.onemap.common.core.domain.R;
- import com.onemap.common.core.utils.file.FileUtils;
- import com.onemap.file.service.ISysFileService;
- import com.onemap.system.api.domain.SysFile;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- /**
- * 文件请求处理
- *
- * @author onemap
- */
- @RestController
- public class SysFileController {
- private static final Logger log = LoggerFactory.getLogger(SysFileController.class);
- @Autowired
- private ISysFileService sysFileService;
- /**
- * 文件上传
- *
- * @param file 文件
- * @param businessType 业务类型
- */
- @PostMapping("/upload")
- public R<SysFile> upload(MultipartFile file, String businessType) {
- try {
- // 上传并返回访问地址
- String url = sysFileService.uploadFile(file, businessType);
- SysFile sysFile = new SysFile();
- sysFile.setName(FileUtils.getName(url));
- sysFile.setUrl(url);
- return R.ok(sysFile);
- } catch (Exception e) {
- log.error("上传文件失败", e);
- return R.fail(e.getMessage());
- }
- }
- /**
- * 文件上传(大文件分片上传)
- *
- * @param file
- * @param chunk
- * @param chunks
- * @param name
- * @param md5
- * @return
- */
- @PostMapping("/splitFileUpload")
- public R<SysFile> splitFileUpload(@RequestParam("file") MultipartFile file,
- @RequestParam("chunk") int chunk,
- @RequestParam("chunks") int chunks,
- @RequestParam("name") String name,
- @RequestParam("md5") String md5) {
- try {
- // 上传并返回访问地址
- String url = sysFileService.splitFileUpload(file, chunk, chunks, name, md5);
- SysFile sysFile = new SysFile();
- sysFile.setName(FileUtils.getName(url));
- sysFile.setUrl(url);
- return R.ok(sysFile);
- } catch (Exception e) {
- log.error("上传文件失败", e);
- return R.fail(e.getMessage());
- }
- }
- /**
- * 上传附件,图片
- *
- * @param files 文件列表
- * @return 文件地址集合
- */
- @PostMapping("/uploadAppendix")
- public R<List<SysFile>> uploadAppendix(MultipartFile[] files) {
- try {
- List<SysFile> sysFileList = new ArrayList<>();
- // 上传并返回访问地址
- for (MultipartFile file : files) {
- String url = sysFileService.uploadAppendix(file);
- SysFile sysFile = new SysFile();
- sysFile.setName(FileUtils.getName(url));
- sysFile.setUrl(url);
- sysFileList.add(sysFile);
- }
- return R.ok(sysFileList);
- } catch (Exception e) {
- log.error("上传文件失败", e);
- return R.fail(e.getMessage());
- }
- }
- /**
- * shp压缩包文件上传
- *
- * @param file 文件
- */
- @PostMapping("/uploadShpZip")
- public RequestResult uploadShpZip(MultipartFile file) {
- try {
- RequestResult res = sysFileService.uploadShpZip(file);
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return RequestResult.error("上传失败!", null);
- }
- }
- /**
- * shp压缩包文件上传****智慧选址
- *
- * @param file 文件
- */
- @PostMapping("/uploadZhxzZip")
- public RequestResult uploadZhxzZip(MultipartFile file) {
- try {
- RequestResult res = sysFileService.uploadZhxzZip(file);
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return RequestResult.error("上传失败!", null);
- }
- }
- /**
- * 压缩包文件上传
- *
- * @param file 文件
- */
- @PostMapping("/uploadZip")
- public UploadZipDTO uploadZip(MultipartFile file) {
- try {
- UploadZipDTO res = sysFileService.uploadZip(file);
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return new UploadZipDTO();
- }
- }
- /**
- * shp压缩包文件上传
- *
- * @param file 文件
- */
- @PostMapping("/uploadTgcl")
- public GhtgCl uploadTgcl(MultipartFile file, Integer type) {
- try {
- GhtgCl res = sysFileService.uploadTgcl(file, type);
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- /**
- * 获取shp文件相应的geojson
- */
- @GetMapping("/getShpGeoJson")
- public String getShpGeoJson(String shpfile) {
- try {
- String res = sysFileService.getShpGeoJson(shpfile);
- return res;
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
- }
|