全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Java+mysql本地图片上传数据库及下载示例

做一个将本地图片上传到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 


相关文章: 网站微信制作软件,如何制作微信链接?  建站之星各版本价格是多少?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  制作网站的基本流程,设计网站的软件是什么?  如何将凡科建站内容保存为本地文件?  无锡营销型网站制作公司,无锡网选车牌流程?  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  重庆市网站制作公司,重庆招聘网站哪个好?  如何通过WDCP绑定主域名及创建子域名站点?  如何制作一个表白网站视频,关于勇敢表白的小标题?  PHP 500报错的快速解决方法  临沂网站制作公司有哪些,临沂第四中学官网?  如何确保西部建站助手FTP传输的安全性?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何挑选最适合建站的高性能VPS主机?  创业网站制作流程,创业网站可靠吗?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  网站制作报价单模板图片,小松挖机官方网站报价?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  婚礼视频制作网站,学习*后期制作的网站有哪些?  建站OpenVZ教程与优化策略:配置指南与性能提升  C#如何序列化对象为XML XmlSerializer用法  如何快速上传建站程序避免常见错误?  微信小程序 五星评分(包括半颗星评分)实例代码  移民网站制作流程,怎么看加拿大移民官网?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何快速搭建支持数据库操作的智能建站平台?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站之星图片链接生成指南:自助建站与智能设计教程  如何通过西部建站助手安装IIS服务器?  如何在万网主机上快速搭建网站?  黑客如何通过漏洞一步步攻陷网站服务器?  家庭建站与云服务器建站,如何选择更优?  建站之星官网登录失败?如何快速解决?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何基于云服务器快速搭建个人网站?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  深圳网站制作平台,深圳市做网站好的公司有哪些?  广平建站公司哪家专业可靠?如何选择?  如何通过VPS建站无需域名直接访问?  如何在宝塔面板中修改默认建站目录?  网站制作难吗安全吗,做一个网站需要多久时间?  宁波自助建站系统如何快速打造专业企业网站?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  在线教育网站制作平台,山西立德教育官网?  如何选择高效响应式自助建站源码系统?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。