public ResponseDTO<?> uploadFile(@RequestParam("file") MultipartFile multipartFile) { //线上 //String realPath = "/data/upload/"; //本地 String realPath = "F:\\javaUpload\\"; String originalFilename = multipartFile.getOriginalFilename(); //后缀 String suffix = Objects.requireNonNull(originalFilename).substring(originalFilename.lastIndexOf(".") + 1); if (!suffix.equals("xlsx")) { return ResponseDTO.fail("文件格式不支持"); } //创建文件夹 File repositoryFile = new File(realPath); if (!repositoryFile.exists()) { repositoryFile.mkdirs(); } //重新生成文件名 String filename = UUID.randomUUID() + "." + suffix; String storePath = realPath + filename; InputStream inputStream = null; FileOutputStream outputStream = null; try { inputStream = multipartFile.getInputStream(); outputStream = new FileOutputStream(new File(storePath)); byte[] buffer = new byte[1024]; int len; while ((len = inputStream.read(buffer)) > 0) { outputStream.write(buffer, 0, len); } HashMap<String, String> map = new HashMap<>(); map.put("filename", filename); map.put("localPath", storePath); return ResponseDTO.success(map); } catch (Exception e) { log.error("文件上传失败", e.getMessage()); return ResponseDTO.fail("文件上传失败"); } finally { try { outputStream.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } }