如何使用byte [] Java显示图像?春季MVC

时间:2018-07-28 19:18:15

标签: spring spring-mvc thymeleaf

在阅读各种教程时,我遇到了显示图像,返回字节数组的可能性。 我需要显示结果图像,但是作为回报,我在页面上得到了一组字节数。我需要更改/添加什么才能工作?

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody byte[] handleFileUpload(@RequestParam("file") MultipartFile file) {
     try {
            String extension = FilenameUtils.getExtension(file.getOriginalFilename()); //find the file extension
            if (!extension.equals("jpg") && !extension.equals("jpeg") &&
                    !extension.equals("bmp") && !extension.equals("png")) throw new Exception();

            InputStream in = new ByteArrayInputStream(file.getBytes());
            BufferedImage bufferedImage= ImageIO.read(in);
            ByteArrayOutputStream os = new ByteArrayOutputStream();
            ImageIO.write(bufferedImage, extension, os);
            InputStream is = new ByteArrayInputStream(os.toByteArray());
           return os.toByteArray();
        } catch (Exception e) {
        }
    return new byte[0];
}

不注意错误处理。故意取消身体护理

1 个答案:

答案 0 :(得分:0)

我在@RequestMappting produces = {"image/jpg, image/jpeg, image/png, image/bmp"}正文中添加了所有内容