@PostMapping("/upload") public @ResponseBody String upload(@RequestParam MultipartFile file, HttpServletRequest request){ if(!file.isEmpty()){ String uploadPath = "C:\uploadFile"; // 如果目录不存在则创建 File uploadDir = new File(uploadPath); if (!uploadDir.exists()) { uploadDir.mkdir(); } String OriginalFilename = file.getOriginalFilename();//获取原文件名 String suffixName = OriginalFilename.substring(OriginalFilename.lastIndexOf("."));//获取文件后缀名 //重新随机生成名字 String filename = UUID.randomUUID().toString() +suffixName; File localFile = new File(uploadPath+"\"+filename); try { file.transferTo(localFile); //把上传的文件保存至本地 return filename;//上传成功,返回保存的文件地址 }catch (IOException e){ e.printStackTrace(); System.out.println("上传失败"); return ""; } }else{ System.out.println("文件为空"); return ""; } }2.直接把文件以二进制形式保存到数据库中数据类型为blob的一个字段
@PostMapping("/upload") @ResponseBody public String upload(@RequestParam("file") MultipartFile file) throws Exception{ if(!file.isEmpty()){ User user=new User(); user.setImage(file.getBytes()); userMapper.insert(user); } return "ok"; } @GetMapping("/getImage") @ResponseBody public void getImage(String id,HttpServletResponse resp) throws Exception{ User user=userMapper.selectById(id); byte[] image = (byte[])user.getImage(); resp.setContentType("image/jpeg"); ServletOutputStream out = resp.getOutputStream(); out.write(image); out.flush(); out.close(); }3.前端代码
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)