鹈鹕吃吃吃 2021-08-10 18:41 采纳率: 66.7%
浏览 57
已结题

Java 存储图片到hbase,从hbase取出图片返回给前端展示?

img

MultipartFile对象用于接收图片信息

img
获取inputStream流,转为字符串,调用存储到hbase的微服务

img
然后将图片转换为图片流(这一段从百度上看来的),再转换成字节数组,然后put存储进hbase

img
然后出现异常,大概就是转图片流那一块的问题,没找到图片,但是我确定传的是一张图片

img

最后就是返回给前端

img

最后转为Base64编码返回

大概就是这个问题,这个方法行不行的通我也不太确定,搞了2天了,已自闭。
有其他的点子也可以,求个解决问题的方法

  • 写回答

3条回答 默认 最新

  • CSDN专家-微编程 2021-08-10 21:28
    关注

    我建议你图片不要存到数据库里面,应该存到一个指定文件夹里面,数据库记录图片的名字或者地址即可,前端实现显示图片和数据库没有关系,你可以将图片放到静态文件夹里面使用nginx进行配置,或者放到tomcat里面进行启动tomcat,将地址返回给前端可以在浏览器上展示图片
    实现的java代码如下:

      public Map<String,Object> upload(MultipartFile myImg) throws IOException {
            //把文件复制给d盘
            //得到上传时用户上传的文件名
            String fileName=myImg.getOriginalFilename();
            File targetFile=new File("/opt/installs/tomcat8.0/webapps/ROOT/assets/avatar/"+fileName);
            //开始赋值
            myImg.transferTo(targetFile);
    
            //保存数据前给属性赋值
    //        stu.setHeadImg(fileName);
            Map<String,Object> map=new HashMap<>();
            String newAvatar="http://xxxx/assets/avatar/"+fileName;
            map.put("avatarPath",newAvatar);
            return map;
        }
    

    我这个是将源码放到虚拟机里面了,你可以改动上面的存储地址为window某磁盘目录下

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 9月8日
  • 创建了问题 8月10日

悬赏问题

  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?