淘先锋技术网

首页 1 2 3 4 5 6 7

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方法来将上传的图像数据从文件读取到响应输出流中,以便浏览器正确显示图像。