postgresql实战技巧(二)postgre存储bytea类型(blob)

举报
小鲍侃java 发表于 2021/09/10 00:23:10 2021/09/10
【摘要】 conrtoller public Result<SysImageVO> uploadImg(SysImageVO sysImageVO, MultipartFile imgFile) throws IOException { Result<SysImageVO> result = new Res...

conrtoller


  
  1. public Result<SysImageVO> uploadImg(SysImageVO sysImageVO, MultipartFile imgFile) throws IOException {
  2. Result<SysImageVO> result = new Result<>();
  3. sysImageVO.setContent(imgFile.getBytes());
  4. sysImageService.uploadImg(sysImageVO);
  5. return result;
  6. }
  7. public Result downloadImg(SysImageVO sysImageVO, HttpServletResponse response) throws IOException {
  8. Result result = new Result();
  9. // 业务处理
  10. SysImageVO image = sysImageService.downloadImg(sysImageVO);
  11. // 将content转化
  12. byte[] content = (byte[]) image.getContent();
  13. // 设置文件名
  14. response.addHeader("Content-Disposition", "attachment;fileName=" + URLEncoder.encode(image.getName(), "UTF-8") + ";");
  15. // 设置文件大小
  16. response.setContentLength(Integer.parseInt(image.getSize()));
  17. // 将图片流通过response对象返回
  18. BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
  19. bos.write(content);
  20. bos.close();
  21. return result;
  22. }

entity

private Object content; //二进制流
 

mapper


  
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.vanpeng.resource.business.modular.image.dao.SysImageDao">
  4. <resultMap type="xx.entity.ImageVO" id="ImageMap">
  5. <result property="id" column="id" jdbcType="INTEGER"/>
  6. <result property="name" column="name" jdbcType="VARCHAR"/>
  7. <result property="content" column="content" jdbcType="BLOB"/> //bytea
  8. </resultMap>
  9. <!--新增图片-->
  10. <insert id="uploadImg">
  11. insert into sys_image(id, name, content)
  12. values (#{id, jdbcType=INTEGER},#{name, jdbcType=VARCHAR}, #{content})
  13. </insert>
  14. <!--下载图片-->
  15. <select id="getImgById" resultMap="ImageMap">
  16. select
  17. id, name, content
  18. from sys_image
  19. where id = #{id}
  20. </select>
  21. </mapper>

seriver不多说 对象传递即可

文章来源: baocl.blog.csdn.net,作者:小黄鸡1992,版权归原作者所有,如需转载,请联系作者。

原文链接:baocl.blog.csdn.net/article/details/115542019

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。