数据库实体类:package com.easy.kotlin.picturecrawler.entity import java.util.* import javax.persistence.* @Entity @Table(indexes = arrayOf( Index(name = "idx_url", unique = true, columnList = "url"), Index(name = "idx_category", unique = false, columnList = "category"))) class Image { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id: Long = -1 @Version var version: Int = 0 @Column(length = 255, unique = true, nullable = false) var category: String = "" var isFavorite: Int = 0 @Column(length = 255, unique = true, nullable = false) var url: String = "" var gmtCreated: Date = Date() var gmtModified: Date = Date() var isDeleted: Int = 0 //1 Yes 0 No var deletedDate: Date = Date() @Lob var imageBlob: ByteArray = byteArrayOf() /* 0-Baidu 1-Gank */ var sourceType: Int = 0 override fun toString(): String { return "Image(id=$id, version=$version, category='$category', isFavorite=$isFavorite, url='$url', gmtCreated=$gmtCreated, gmtModified=$gmtModified, isDeleted=$isDeleted, deletedDate=$deletedDate)" } }其中的 @Lob var imageBlob: ByteArray = byteArrayOf() 这个字段存储图片的 Base64内容。

存库代码val Image = Image() Image.category = "干货集中营福利" Image.url = url Image.sourceType = 1 Image.imageBlob = getByteArray(url) logger.info("Image = ${Image}") imageRepository.save(Image)

其中的getByteArray(url) 函数:private fun getByteArray(url: String): ByteArray { val urlObj = URL(url) return urlObj.readBytes() }

前端 html 展示图片代码:{ title: '图片', field: 'imageBlob', align: 'center', valign: 'middle', formatter: function (value, row, index) { // var html = "" var html = '' return html } }

点击下载 js :function downloadImage(src) { var $a = $("").attr("href", src).attr("download", "sotu.png"); $a[0].click(); } function downBase64Image(url) { var blob = base64Img2Blob(url); url = window.URL.createObjectURL(blob); var $a = $("").attr("href", url).attr("download", "sotu.png"); $a[0].click(); } function base64Img2Blob(code) { var parts = code.split(';base64,'); var contentType = parts[0].split(':')[1]; var raw = window.atob(parts[1]); var rawLength = raw.length; var uInt8Array = new Uint8Array(rawLength); for (var i = 0; i < rawLength; ++i) { uInt8Array[i] = raw.charCodeAt(i); } return new Blob([uInt8Array], {type: contentType}); }

或者:function downloadFile(fileName, content) { var aLink = document.createElement('a'); var blob = base64Img2Blob(content); //new Blob([content]); var evt = document.createEvent("HTMLEvents"); evt.initEvent("click", false, false);//initEvent 不加后两个参数在FF下会报错 aLink.download = fileName; aLink.href = URL.createObjectURL(blob); aLink.dispatchEvent(evt); }

html显示mysql图片路径_MySQL MySQL 直接存储图片并在 html 页面中展示,点击下载 _好机友...相关推荐

  1. mysql列目录_mysql列直接存储图片路径

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  2. 在MYSQL里使用哪种格式存储图片?之解惑总结

    2019独角兽企业重金招聘Python工程师标准>>> 1 写入时并无格式之分,只是保存二进制数据,读取后和写入时的格式一样. jpg图片用二进制格式写入mysql,再以二进制格式读 ...

  3. webpack打包js文件,图片路径错误,没有将图片打包的问题

    初用 webpack 进行项目开发的同学会发现:在 js 或者 vue 中引用的图片都没有打包进 bundle 文件夹中.这时是需要require的方式进行图片路径的引用,这样引用的图片就可以成功打包 ...

  4. 将页面中的指定 div 下载为图片

    文章目录 1. 下载页面div为本地图片 2. 下载页面 div 为本地图片并添加水印 1. 下载页面div为本地图片 要将页面中的指定 div 下载为图片,可以使用 JavaScript 的 htm ...

  5. mysql outfile 路径_MySQL load_file()/into outfile路径问题总结

    MySQL load_file()/into outfile路径问题总结 本文来源:http://space.baidu.com/hackerxwar/blog/item/0436c9ffd0d04b ...

  6. mysql外键_mysql系列之存储引擎

    本篇主要介绍mysql的存储引擎,说明主要的几个存储引擎的特性及其差别. 一.存储引擎介绍 在这里插入图片描述 数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建.查询.更新和删除 ...

  7. mysql改变地址_mysql 修改数据库存储地址

    默认目录/var/lib/mysql systemctl stop mysqld cp -pr /var/lib/mysql /data/mysql Create a backup of /etc/m ...

  8. MySQL 直接存储图片并在 html 页面中展示,点击下载

    数据库实体类: package com.easy.kotlin.picturecrawler.entityimport java.util.* import javax.persistence.*@E ...

  9. 图片路径前缀有blob?图片渲染不出来?

    写bug 你们遇见过这种图片路径咩 就很奇葩吧哈哈因为我图片渲染不出来~ 好像我保存之后就有这个 数据库也是有这个前缀 我的代码是这样的: handleAvatarSuccess(response, ...

最新文章

  1. 作为程序员的你第一套房子是多少岁?多少万?
  2. 三个大数据处理框架:Storm,Spark和Samza 介绍比较
  3. 技术干货 | “选图预览并上传”的场景如何解?全网最全方案汇总来了
  4. 漂亮又好用的Redis可视化客户端汇总
  5. python 有什么一般人不知道的缺点_关于python,你知道它的优缺点吗?
  6. Eclipse快捷键 10个最有用的快捷键---摘录
  7. Spring Cloud Eureka 源码分析(一) 服务端启动过程
  8. 【编译原理笔记08】语法制导翻译:语法制导定义,SSD的求值顺序,S属性定义与L属性定义
  9. maven自动部署到tomcat的问题
  10. 发起成立“ABCD联盟”,人工智能与区块链技术研讨会北京站精彩回顾
  11. 单片机c语言开发实验心得,单片机实训心得报告【三篇】
  12. python-sklearn数据分析-线性回归和支持向量机(SVM)回归预测(实战)
  13. ES文件浏览器★显示永久VIP会员★去盗版弹窗
  14. 文字转语音合成器哪个好?这些文字转语音软件值得收藏
  15. iOS小技能:设备ID除了使用_idfa、_idfv 还可使用其他替代方案(使用Keychain 存储UUID)
  16. windows下安装VIM
  17. java urlrewrite
  18. 计算机更新并关机能关闭吗,win10关机不想更新并关机而是直接关机步骤设置
  19. 关闭计算机小键盘快捷键,笔记本小键盘怎么关 关闭小键盘的方法【详解】
  20. WIN7下破解锐捷无线共享上网(谨以此文献给浙理各位被锐捷搞疯掉的同学)

热门文章

  1. docker集群管理工具_太多选择:如何选择正确的工具来管理Docker集群
  2. 交互键盘_如何仅为键盘交互添加聚焦环
  3. react中创建一个组件_如何使用React和MomentJS创建一个Countdown组件
  4. 打破双亲委派么,怎么打破_打破它。 然后告诉我们您是如何打破它的。
  5. 身份证识别开发_成为您的身份永远不会太晚-在36岁时成为一名开发人员
  6. hacker代码_如何仅用7行R代码构建Hacker News Frontpage抓取工具
  7. 欧洲进出口银行_欧洲对开放银行的推动如何迫使银行应用改善用户体验
  8. 一篇好的技术博文,快速让你通俗理解Python闭包!
  9. python实现输入三角形边长自动作图求面积案例
  10. 小白学 Python 爬虫:Selenium 获取某大型电商网站商品信息