Java+mysql本地图片上传数据库及下载示例
发布时间 - 2026-01-10 22:46:56 点击率:次做一个将本地图片上传到mysql数据库的小实例,顺便也下载下来到桌面检测是否上传成功。

在写代码之前得先在数据库中建立image表,用来存储图片。
create table image (id int primary key auto_increment , name varchar(30) COMMENT '名称', content mediumblob COMMENT '图片');
下面直接上代码:
package jdbc_imagetest;
import java.io.*;
import java.sql.*;
/**
* 将本地文件的图片传到数据库的test的image表中并下载到本机桌面
*/
public class Test1 {
private static String url="jdbc:mysql://localhost:3306/test";
private static String user="root";
private static String password="123456";
private static Connection con;
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection(url,user,password);
shangchuan();
xiazai();
}
//添加图片到数据库test4的file表
public static void shangchuan() throws Exception{
String sql="insert into image(name,content) values(?,?)";
PreparedStatement ptmt=con.prepareStatement(sql);
ptmt.setString(1, "|美女|.jpg");
InputStream is=null;
is=new FileInputStream("D:\\Pictures\\3.jpg");
ptmt.setBinaryStream(2, is,is.available());
//方法说明:PreparedStatement.setBinaryStream(int parameterIndex, InputStream x, int length)
ptmt.execute();
System.out.println("图片添加成功!");
}
//从数据库中把图片下载至桌面
public static void xiazai() throws Exception{
String sql="select content from image where id=3";//在我这里3.jpg是第三张图片
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(sql);//将查询结果给rs
if(rs.next()){
InputStream is=rs.getBinaryStream("fcontent");
//.getBinaryStream():a Java input stream that delivers the database column value as a stream of uninterpreted bytes
FileOutputStream fos=new FileOutputStream("C:\\Users\\Desktop\\|美女|.jpg");
byte[] buffer=new byte[1024];
int len=0;
while((len=is.read(buffer))!=-1){
fos.write(buffer,0,len);//将数据库的图片写出
}
System.out.println("下载成功!已下载至桌面,请查看");
}else{
System.out.println("图片不存在!");
}
con.close();
}
}
测试成功
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java上传文件到数据库
# java文件上传下载示例
# Java实现用Mysql存取图片操作实例
# Java+MySql图片数据保存与读取的具体实例
# Java连接mysql数据库代码实例程序
# Java连接Mysql 8.0.18版本的方法详解
# java连接mysql数据库实现单条插入和批量插入
# java实现批量导入.csv文件到mysql数据库
# JavaWeb JDBC + MySql 通讯录实现简单的增删改查功能案例详解
# 如何基于java向mysql数据库中存取图片
# 在我
# 不存在
# 做一个
# 本机
# 先在
# 数据库中
# 查询结果
# 请查看
# 大家多多
# 中把
# 图片上传
# 第三张
# 上传
# String
# static
# url
# localhost
# jdbc
# private
# read
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
中山网站推广排名,中山信息港登录入口?
如何在IIS7中新建站点?详细步骤解析
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何在云主机上快速搭建多站点网站?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
JS去除重复并统计数量的实现方法
北京网站制作的公司有哪些,北京白云观官方网站?
Laravel如何使用withoutEvents方法临时禁用模型事件
Android 常见的图片加载框架详细介绍
深圳网站制作的公司有哪些,dido官方网站?
如何快速生成ASP一键建站模板并优化安全性?
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程
JavaScript Ajax实现异步通信
北京网站制作公司哪家好一点,北京租房网站有哪些?
太平洋网站制作公司,网络用语太平洋是什么意思?
如何在香港免费服务器上快速搭建网站?
Android GridView 滑动条设置一直显示状态(推荐)
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
大型企业网站制作流程,做网站需要注册公司吗?
如何选择可靠的免备案建站服务器?
Laravel如何创建自定义Facades?(详细步骤)
zabbix利用python脚本发送报警邮件的方法
如何在宝塔面板中修改默认建站目录?
nginx修改上传文件大小限制的方法
Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】
Python进程池调度策略_任务分发说明【指导】
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
如何为不同团队 ID 动态生成多个“认领值班”按钮
Laravel如何升级到最新版本?(升级指南和步骤)
如何快速查询网站的真实建站时间?
Laravel如何优化应用性能?(缓存和优化命令)
Win11怎么查看显卡温度 Win11任务管理器查看GPU温度【技巧】
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
高性能网站服务器部署指南:稳定运行与安全配置优化方案
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
高防服务器租用指南:配置选择与快速部署攻略
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
如何在万网主机上快速搭建网站?
如何有效防御Web建站篡改攻击?
C语言设计一个闪闪的圣诞树
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
Android自定义listview布局实现上拉加载下拉刷新功能
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
网站制作软件有哪些,制图软件有哪些?
如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】

