package com.ydtech.modules.admin.controller; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.esm.service.UpdownLoadService; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** * @Author: shixk * @create: 2021/9/3 15:28 * description: 文件上传与下载 */ @Api(tags = {"UpdownLoadController"}, description = "文件上传与下载") @Slf4j @RestController @RequestMapping("/updownLoad") public class UpdownLoadController { @Autowired private UpdownLoadService updownLoadService; //多文件上传 @ApiOperation(value = "上传文件") @ApiImplicitParams({@ApiImplicitParam(name = "files", value = "MultipartFile文件"), @ApiImplicitParam(name = "path", value = "自定义路径")}) @ApiResponses({@ApiResponse(code = 500, message = "出现异常"), @ApiResponse(code = 200, message = "请求成功")}) @RequestMapping(value = "/uploadFiles", method = RequestMethod.POST) public HttpResult upload(@RequestParam("files") MultipartFile[] files, @RequestParam(value = "path", required = false) String path) throws IOException { HttpResult result; try { result = updownLoadService.upload(files, path); } catch (Exception e) { result = HttpResult.error("上传文件失败!" + e.getMessage()); e.printStackTrace(); } return result; } //根据DIRID // 上传文件 @ApiOperation(value = "根据DIRID上传文件") @ApiImplicitParams({@ApiImplicitParam(name = "files", value = "MultipartFile文件"), @ApiImplicitParam(name = "dirid", value = "文件夹id")}) @ApiResponses({@ApiResponse(code = 500, message = "出现异常"), @ApiResponse(code = 200, message = "请求成功")}) @RequestMapping(value = "/uploadFilesByDirId", method = RequestMethod.POST) public HttpResult uploadFilesByDirId(@RequestParam("files") MultipartFile[] files, @RequestParam(value = "dirid") String dirid) { HttpResult result = null; try { result = updownLoadService.uploadFilesByDirId(files, dirid); } catch (Exception e) { result = HttpResult.error("上传文件失败!" + e.getMessage()); e.printStackTrace(); } return result; } //文件查询 @ApiOperation(value = "文件夹查询") @ApiImplicitParams({@ApiImplicitParam(name = "dirid", value = "文件夹id")}) @ApiResponses({@ApiResponse(code = 500, message = "出现异常"), @ApiResponse(code = 200, message = "请求成功)")}) @RequestMapping(value = "/select", method = RequestMethod.GET) public HttpResult select(@RequestParam("dirid") String dirid) { HttpResult result = null; try { result = updownLoadService.select(dirid); } catch (Exception e) { result = HttpResult.error("文件查询失败!" + e.getMessage()); e.printStackTrace(); } return result; } //文件查询 @ApiOperation(value = "文件查询") @ApiImplicitParams({@ApiImplicitParam(name = "fileid", value = "文件id")}) @ApiResponses({@ApiResponse(code = 500, message = "出现异常"), @ApiResponse(code = 200, message = "请求成功)")}) @RequestMapping(value = "/selectFileid", method = RequestMethod.GET) public HttpResult selectFileid(@RequestParam("fileid") String fileid) { HttpResult result = null; try { result = updownLoadService.selectFileid(fileid); } catch (Exception e) { result = HttpResult.error("文件查询失败!" + e.getMessage()); e.printStackTrace(); } return result; } //文件下载 @ApiOperation(value = "下载文件") @ApiImplicitParams({@ApiImplicitParam(name = "fileid", value = "文件id")}) @ApiResponses({@ApiResponse(code = 500, message = "出现异常"), @ApiResponse(code = 200, message = "请求成功)")}) @RequestMapping(value = "/download", method = RequestMethod.GET) public HttpResult download(HttpServletRequest request, HttpServletResponse response, @RequestParam("fileid") String fileid) { HttpResult result = null; try { result = updownLoadService.download(request, response, fileid); } catch (Exception e) { result = HttpResult.error("下载文件失败!" + e.getMessage()); e.printStackTrace(); } return result; } //文件删除 @ApiOperation(value = "删除文件") @ApiImplicitParams({@ApiImplicitParam(name = "fileid", value = "文件id")}) @ApiResponses({@ApiResponse(code = 500, message = "出现异常"), @ApiResponse(code = 200, message = "请求成功)")}) @RequestMapping(value = "/deleteFile", method = RequestMethod.GET) public HttpResult deleteFile(@RequestParam("fileid") String fileid) { HttpResult result = null; try { result = updownLoadService.deleteFile(fileid); } catch (Exception e) { result = HttpResult.error("删除文件失败!" + e.getMessage()); e.printStackTrace(); } return result; } }