当前位置:  开发笔记 > 编程语言 > 正文

将byte []转换为图像并在jsp上显示

如何解决《将byte[]转换为图像并在jsp上显示》经验,为你挑选了1个好方法。

我正在尝试在jsp页面上显示上传的图片(现在是一个字节数组).现在,byte []列存在于数据库中,必须转换为图像.

这就是我一直在尝试的:

jsp页面上的部分表:


    
        ${user.fileName}
        
            No image
        

控制器的一部分,它从MultipartFile对象获取一个字节数组:

@RequestMapping(value = "/register", method = RequestMethod.POST)
    public ModelAndView userRegister(@ModelAttribute("user") @Valid User user, BindingResult result, ModelMap model, @RequestParam("fileData") MultipartFile fileData) throws Exception {

            if (!fileData.isEmpty() && fileData != null) {                

                byte[] bytes = fileData.getBytes();
                user.setFileName(fileData.getOriginalFilename());
                user.setImageFile(bytes);
            }
        }

如果需要任何其他信息,请告诉我.谢谢.



1> Master Slave..:

您可以添加一个tranisent base64imageFile属性User.它将保存图像的base64编码字符串,您可以在jsp中访问它

img

在您的方法中,您应该进行编码,例如

@RequestMapping(value = "/register", method = RequestMethod.POST)
    public ModelAndView userRegister(@ModelAttribute("user") @Valid User user, BindingResult result, ModelMap model, @RequestParam("fileData") MultipartFile fileData) throws Exception {
        if (!fileData.isEmpty() && fileData != null) {                
            byte[] bytes = fileData.getBytes();
            user.setFileName(fileData.getOriginalFilename());
            user.setImageFile(bytes);
            byte[] encodeBase64 = Base64.encodeBase64(bytes);
            String base64Encoded = new String(encodeBase64, "UTF-8");
            user.setBase64image(base64encoded);
        }
    }

IOUtils并且Base64是一个方便的util类org.apache.commons,应该没有问题发现

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有