| | |
| | | package org.jeecg.modules.system.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import io.swagger.annotations.Api; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.jeecg.common.api.vo.Result; |
| | | import org.jeecg.common.exception.JeecgBootException; |
| | | import org.jeecg.common.system.query.QueryGenerator; |
| | | import org.jeecg.common.util.CommonUtils; |
| | | import org.jeecg.common.util.MinioUtil; |
| | | import org.jeecg.common.util.oConvertUtils; |
| | | import org.jeecg.modules.oss.entity.OssFile; |
| | | import org.jeecg.modules.oss.service.IOssFileService; |
| | | import org.jeecg.common.system.base.entity.SysUpload; |
| | | import org.jeecg.modules.system.service.IUploadService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import org.springframework.web.multipart.MultipartHttpServletRequest; |
| | | import org.springframework.web.multipart.commons.CommonsMultipartResolver; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * minio文件上传示例 |
| | |
| | | public class SysUploadController { |
| | | @Autowired |
| | | private IOssFileService ossFileService; |
| | | |
| | | @Autowired |
| | | private IUploadService uploadService; |
| | | |
| | | /** |
| | | * 上传 |
| | |
| | | result.setSuccess(true); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | @GetMapping(value = "/list") |
| | | public Result<?> list(SysUpload upload, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, |
| | | @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { |
| | | QueryWrapper<SysUpload> queryWrapper = QueryGenerator.initQueryWrapper(upload, req.getParameterMap()); |
| | | Page<SysUpload> page = new Page<SysUpload>(pageNo, pageSize); |
| | | IPage<SysUpload> pageList = uploadService.page(page, queryWrapper); |
| | | return Result.ok(pageList); |
| | | } |
| | | |
| | | @DeleteMapping(value = "/delete") |
| | | public Result<?> delete(@RequestParam(name = "id", required = true) String id) { |
| | | uploadService.removeById(id); |
| | | return Result.ok("删除成功!"); |
| | | } |
| | | |
| | | @DeleteMapping(value = "/deleteBatch") |
| | | public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { |
| | | uploadService.removeByIds(Arrays.asList(ids.split(","))); |
| | | return Result.ok("批量删除成功!"); |
| | | } |
| | | |
| | | @PostMapping("/batchUploadFile") |
| | | public Result<?> batchUploadFile(HttpServletRequest request) { |
| | | // 创建一个通用的多部分解析器 |
| | | CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); |
| | | // 判断 request 是否有文件上传,即多部分请求 |
| | | if (multipartResolver.isMultipart(request)) { |
| | | // 转换成多部分request |
| | | MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; |
| | | List<MultipartFile> files = multiRequest.getFiles("files[]"); |
| | | String type = multiRequest.getParameter("type"); |
| | | String description = multiRequest.getParameter("description"); |
| | | try { |
| | | List<SysUpload> sysUploads = uploadService.batchUploadFile(type, files, description); |
| | | return Result.ok(sysUploads); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | return Result.error("操作失败"); |
| | | } |
| | | |
| | | @GetMapping("/downloadFile") |
| | | public void downloadFile(@RequestParam("id") String id, HttpServletResponse response) { |
| | | uploadService.downloadFile(response, uploadService.getById(id)); |
| | | } |
| | | |
| | | } |