Java提供了方便的方式来上传和显示图片。利用Java的文件上传和读取功能,我们可以轻松地实现图片上传并将其显示在web页面上。
// 上传图片 @RequestMapping(value = "/upload", method = RequestMethod.POST) public String uploadImage(@RequestParam("file") MultipartFile file) throws IOException { if (!file.isEmpty()) { byte[] bytes = file.getBytes(); Path path = Paths.get("/path/to/save/image/" + file.getOriginalFilename()); Files.write(path, bytes); } return "redirect:/index"; }
上述代码将上传的图片保存到指定路径中。可以在controller中的其他方法中调用来显示图片:
// 显示图片 @RequestMapping(value = "/image/{imageName}", method = RequestMethod.GET) public @ResponseBody void getImage(@PathVariable("imageName") String imageName, HttpServletResponse response) throws IOException { String filePath = "/path/to/save/image/" + imageName; File file = new File(filePath); InputStream inputStream = new FileInputStream(file); response.setContentType(MediaType.IMAGE_JPEG_VALUE); IOUtils.copy(inputStream, response.getOutputStream()); }
上述代码中,我们使用@ResponseBody注解来指示Spring返回图片数据。我们还需要将response的contentType设置为image/jpeg,确保浏览器正确地显示图像。
此外,我们使用IOUtils.copy方法来将上传的图像数据从文件读取到响应输出流中,以便浏览器正确显示图像。