postgresql插入和读取图片

postgresql存储图片需要二进制类型bytea,创建一张测试表:

postgres=# create table test_image(img bytea);
CREATE TABLE

使用jdbc插入1.jpg

try {
connection = JDBCUtil.getConnection();
connection.setAutoCommit(false);
String sql = "INSERT INTO test_image(img) VALUES(?)";
preparedStatement = connection.prepareStatement(sql);
InputStream inputStream = new FileInputStream(img_name);
preparedStatement.setBinaryStream(1,inputStream);
preparedStatement.executeUpdate();
connection.commit();
} catch (SQLException | FileNotFoundException e) {
throw new RuntimeException(e);
} finally {
JDBCUtil.release(connection);
}

查看字段长度

postgres=# select length(img) from test_image;
length
--------
50726
(1 row)

读取图片

try {
connection = JDBCUtil.getConnection();
String sql = "SELECT img from test_image";
preparedStatement = connection.prepareStatement(sql);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
InputStream in = resultSet.getBinaryStream(1);
byte[] buffer = new byte[1024*1024];
OutputStream out = new FileOutputStream("new_1.jpg");
for (int i; (i = in.read(buffer)) > 0;)
{
out.write(buffer, 0, i);
out.flush();
}
out.close();
in.close();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtil.release(connection);
}

postgresql数据库插入和读取图片的更多相关文章

  1. ios 向sqlite数据库插入和读取图片数据

    向sqlite数据库插入和读取图片数据 (for ios) 假定数据库中存在表 test_table(name,image), 下面代码将图片文件test.png的二进制数据写到sqlite数据库: ...

  2. 图片保存到数据库以及C#读取图片

    图片保存到数据库,如果是sqlserver就是Image类型,如果保存到Oracle就是blob类型,在c#中相对应的就是byte[]类型,同时只需要对读出的数据强制转换就行(byte[])objec ...

  3. 数据库ADO方式读取图片

    void Caccess_test_1Dlg::OnBnClickedButton3()//将偏振图像存入数据库 { // TODO: 在此添加控件通知处理程序代码 if (!PathFileExis ...

  4. 【转】Oracle中插入和取出图片(用BLOB类型)

    原文地址:http://czllfy.iteye.com/blog/66737 其他参考资料地址:http://lavasoft.blog.51cto.com/62575/321882/ 要在orac ...

  5. Oracle数据库插入图片和读取图片

    package com.basicSql.scroll_page; import java.io.File; import java.io.FileInputStream; import java.i ...

  6. Python numpy插入、读取至postgreSQL数据库中bytea类型字段

    安装psycopg2模块,此模块用于连接PostgreSQL数据库 ​pip install psycopg2 # -*- coding: utf-8 -*- import psycopg2 impo ...

  7. java+mysql实现保存图片到数据库,以及读取数据库存储的图片

    一:建表 二:获取数据库连接 1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下: /** * */ package c ...

  8. MySQL数据库写入图片并读取图片显示到JLabel上的详解

    相较于Oracle,MySQL作为一个轻量级的开源的数据库,可谓是大大简化了我们的操作.这次我就来写一个关于数据库存入图片,获取图片的例子吧,也为了今后的复习使用.(我们一般采取存入路径的方式,而不是 ...

  9. PHP部分--图片上传服务器、图片路径存入数据库,并读取

    html页面 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...

  10. [转]asp.net mvc 从数据库中读取图片

    本文转自:http://www.cnblogs.com/mayt/archive/2010/05/20/1740358.html 首先是创建一个类,继承于ActionResult,记住要引用Syste ...

随机推荐

  1. 如何通过Java代码向Word文档添加文档属性

    Word文档属性包括常规.摘要.统计.内容.自定义.其中摘要包括标题.主题.作者.经理.单位.类别.关键词.备注等项目.属性相当于文档的名片,可以添加你想要的注释.说明等.还可以标注版权. 今天就为大 ...

  2. 浙江某男子对多端应用开发工具HBuilderX在windows下安装的解说

    同学,学uni-app好啊,大致上写一套代码能生成这么多个平台的应用,我简单念一下,它们分别是Android应用.IOS应用.Web应用.微信小程序.支付宝小程序.百度小程序.字节跳动小程序.快应用. ...

  3. bash原样输出字符串中的换行

    ➜ code $ cat test.sh #!/bin/bash nr="`cat -`"\" echo "$nr" echo $nr echo &q ...

  4. WSL 2 内配置Fcitx自启动

    前言 我通过配置成fcitx进行服务进行,但其权限是root,在普通模式下无法使用 我用的是xserver ( moba xterm),我要在gtk mode 下启动fcitx,其实 不用这么写 操作 ...

  5. 【已解决】将jsp文件在浏览器打开直接出现代码,在浏览器出现本地地址,tomcat报错

    问题背景: 导入了一个项目直接打开可以,但是想跟一遍代码,把配置文件全部整理成为一个springmvc的基础配置文件 跟着配置到自己tomcat就不管怎样都是下面的截图  希望可以帮到一起报错的朋友快 ...

  6. Linux快照利器:Timeshift,备份和还原效果杠杠的

    转载csdn:Linux快照利器:Timeshift,备份和还原效果杠杠的_网络技术联盟站-CSDN博客

  7. 《HelloGitHub》第 83 期

    兴趣是最好的老师,HelloGitHub 让你对编程感兴趣! 简介 HelloGitHub 分享 GitHub 上有趣.入门级的开源项目. https://github.com/521xueweiha ...

  8. 一键接入 ChatGPT,让你的QQ群变得热闹起来

    目录 项目效果 安装环境 配置文件 启动Mirai 启动ChatGPT 项目效果 ChatGPT 的出现对于人们的生活和工作都有着重要的影响,作为一个强大的自然语言处理模型,可以理解和生成自然语言,所 ...

  9. VM中centos7创建后无法上网问题

    在VMware 12 Pro上安装完CentOS7发现使用ping www.baidu.com无法ping通 使用以下命令: 1.cd /etc/sysconfig/network-scripts 然 ...

  10. listview自定义适配器

    class FruitAdapter(activity: Activity ,val id:Int,data:List<Fruit>):ArrayAdapter<Fruit>( ...