1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| @RestController @RequestMapping("/upload") public class UploadController {
@Autowired private PdfMapper pdfMapper;
private String uploadDir = "./pdf";
@PostMapping public Map<String, Object> upload(@RequestParam("file") MultipartFile file, HttpSession session) throws IOException { System.out.println("上传文件: " + file.getOriginalFilename()); Map<String, Object> resp = new HashMap<>();
if (file.isEmpty()) { resp.put("code", 1); resp.put("msg", "请选择文件"); return resp; } String originalName = file.getOriginalFilename(); if (originalName == null || !originalName.toLowerCase().endsWith(".pdf")) { resp.put("code", 1); resp.put("msg", "只允许上传 PDF 文件"); return resp; }
Path dirPath = Paths.get(uploadDir).toAbsolutePath().normalize(); if (!Files.exists(dirPath)) { Files.createDirectories(dirPath); }
String uuidName = UUID.randomUUID().toString().replace("-", "") + ".pdf"; Path target = dirPath.resolve(uuidName);
file.transferTo(target.toFile());
Pdf pdf = new Pdf(); pdf.setUuidName(uuidName); pdf.setRealName(originalName); pdf.setFilePath(target.toString()); pdf.setFileSize(file.getSize()); pdf.setMimeType(file.getContentType()); pdf.setParseStatus(0); pdfMapper.insert(pdf);
resp.put("code", 0); resp.put("msg", "上传成功"); resp.put("pid", pdf.getPid()); resp.put("realName", originalName); return resp; } }
|