精华内容
下载资源
问答
  • mysql保存图片和读取图片

    千次阅读 2019-04-12 00:00:34
    基于字节流和sql的图片存储和读取操作 DbUtil package cn.edu.zzti.photo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * @Classname DBUtil * @Author ...

    基于字节流和sql的图片存储和读取操作
    这种方法只能适合字节数小的照片,大的话mysql会暴

    DbUtil
    package cn.edu.zzti.photo;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    /**
     * @Classname DBUtil
     * @Author jdq8576
     * @Date 2019/4/11 23:05
     **/
    public class DBUtil {
        private static final String url = "jdbc:mysql://localhost:3306/mydb?serverTimezone=GMT%2b8&useSSL=false";
        private static final String username = "root";
        private static final String password = "889977";
    
        static {
            try {
                Class.forName("com.mysql.cj.jdbc.Driver");
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
        }
        public static Connection getConnection() throws SQLException {
            return DriverManager.getConnection(url,username,password);
        }
        public static void closeConnection(Connection connection){
            if(connection!=null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
    
    
    ImageDemo
    package cn.edu.zzti.photo;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    /**
     * @Classname ImageDemo
     * @Author jdq8576
     * @Date 2019/4/11 23:17
     **/
    public class ImageDemo {
        public static void saveImage(){
            String path = "C:\\Users\\jdq8576\\Desktop\\啥都有\\img\\2.jpg";
            Connection connection = null;
            PreparedStatement preparedStatement = null;
            FileInputStream fileInputStream = null;
            try {
                fileInputStream = ImageUtil.getFileInputStream(path);
                connection = DBUtil.getConnection();
                String sql = "INSERT into photo(id,name,photo) values(?,?,?)";
                preparedStatement = connection.prepareStatement(sql);
                preparedStatement.setInt(1,1);
                preparedStatement.setString(2,"DQ");
                preparedStatement.setBinaryStream(3,fileInputStream,fileInputStream.available());
                int res = preparedStatement.executeUpdate();
                if(res>0){
                    System.out.println("Success");
                }else{
                    System.out.println("Failed");
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (SQLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                DBUtil.closeConnection(connection);
                if(null != preparedStatement){
                    try {
                        preparedStatement.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
        public static void readImage(){
            String path = "F:\\2.jpg";
            Connection connection = null;
            PreparedStatement preparedStatement = null;
            ResultSet resultSet = null;
            try {
                connection = DBUtil.getConnection();
                String sql = "select * from photo where id = 1";
                preparedStatement = connection.prepareStatement(sql);
                resultSet = preparedStatement.executeQuery();
                while (resultSet.next()){
                    InputStream inputStream = resultSet.getBinaryStream("photo");
                    ImageUtil.saveImage(inputStream,path);
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }finally {
                DBUtil.closeConnection(connection);
                if(resultSet!=null){
                    try {
                        resultSet.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
                if(preparedStatement!=null){
                    try {
                        preparedStatement.close();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
    }
    
    
    ImageUtil
    package cn.edu.zzti.photo;
    
    import java.io.*;
    
    /**
     * @Classname ImageUtil
     * @Author jdq8576
     * @Date 2019/4/11 23:10
     **/
    public class ImageUtil {
        public static FileInputStream getFileInputStream(String path) throws FileNotFoundException {
            return new FileInputStream(new File(path));
        }
        public static void saveImage(InputStream inputStream,String path){
            File file = new File(path);
            FileOutputStream fileOutputStream = null;
            try {
                fileOutputStream = new FileOutputStream(file);
                int len = 0;
                byte[] bytes = new byte[1024];
                while ((len = inputStream.read(bytes))!=-1){
                    fileOutputStream.write(bytes);
                }
                fileOutputStream.flush();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }finally {
                if(fileOutputStream!=null){
                    try {
                        fileOutputStream.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    
    
    MyTest
    package cn.edu.zzti.photo;
    
    import org.junit.Test;
    
    /**
     * @Classname Test
     * @Author jdq8576
     * @Date 2019/4/11 23:35
     **/
    public class MyTest {
    
        @Test
        public void test(){
            ImageDemo.saveImage();
            ImageDemo.readImage();
        }
    }
    
    
    数据库sql
    create table photo
    (
    	id int auto_increment,
    	name varchar(20) null,
    	photo blob null,
    	constraint photo_pk
    		primary key (id)
    );
    

    鸣谢 原作者

    展开全文
  • 使用java向mysql保存图片路径

    千次阅读 2019-08-23 12:26:58
    最近有一个项目有一个新需求,就是将好多图片的路径链接保存mysql数据库中,一个一个手动保存是不存在的,于是用java写了个程序来实现 测试图片: 数据库里建的表(随意建的): 代码: DataBase.java:(需要...
    最近有一个项目有一个新需求,就是将好多图片的路径链接保存到mysql数据库中,一个一个手动保存是不存在的,于是用java写了个程序来实现
    • 测试图片:
      在这里插入图片描述
    • 数据库里建的表(随意建的):
      在这里插入图片描述
    • 代码:

      • DataBase.java:(需要填写自己的数据库地址、用户名、密码)
    package com.beyes;
    import java.sql.*;
    
    public class DataBase {
        	private Statement stmt = null;
        	ResultSet rs = null;
        	private Connection conn = null;
        	String sql;
        	String strurl = "jdbc:(####自己的数据库地址####)?useSSL=false";
        
        	public DataBase() {
        	}
        
        	/**
        	 * 打开数据库连接
        	 */
        	public void OpenConn() throws Exception {
        		try {
        			Class.forName("com.mysql.jdbc.Driver");
        			conn = DriverManager.getConnection(strurl, "(####用户名####)", "(#####密码####)");
        			conn.setAutoCommit(false);
        		} catch (Exception e) {
        			System.err.println("OpenConn:" + e.getMessage());
        			e.printStackTrace();
        		}
        	}
        
        	/**
        	 * 执行sql语句,返回结果集rs
        	 */
        	public ResultSet executeQuery(String sql) {
        		stmt = null;
        		rs = null;
        		try {
        
        			stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
        			rs = stmt.executeQuery(sql);
        		} catch (SQLException e) {
        			System.err.println("executeQuery:" + e.getMessage());
        			e.printStackTrace();
        		}
        		return rs;
        
        	}
        
        	/**
        	 * 执行sql语句
        	 */
        	public int executeUpdate(String sql) {
        		stmt = null;
        		rs = null;
        		int k = 0;
        		try {
        			stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
        			k = stmt.executeUpdate(sql);
        			conn.commit();
        		} catch (SQLException e) {
        			System.err.println("executeUpdate:" + e.getMessage());
        			e.printStackTrace();
        		}
        		return k;
        	}
        
        	public void closeStmt() {
        		try {
        			stmt.close();
        		} catch (SQLException e) {
        			System.err.println("closeStmt:" + e.getMessage());
        		}
        	}
        
        	/**
        	 * 关闭数据库连接
        	 */
        	public void closeConn() {
        		try {
        			conn.close();
        		} catch (SQLException ex) {
        			System.err.println("aq.closeConn:" + ex.getMessage());
        		}
        	}
        }
    
    • UrlsBean.java:(向表里添加数据的类)
    package com.beyes;
    
    public class UrlsBean {
       String url;
       String sql;
       public void addUrl(String url) {
       	DataBase DB = new DataBase();
       	this.url = url;
       	sql = "insert into urls(url) values ('"+url+"')";
       	try {
       		DB.OpenConn();
       		DB.executeUpdate(sql); 
       	} catch (Exception e) {
       		System.out.println(e);} finally {
       		DB.closeStmt();   //关闭连接表对象
       		DB.closeConn();
       	}
       }
    }
    
    • GetUrls.java:(为了图省事,就把运行方法也写进来了)
    package com.beyes;
    import java.io.File;
    
    public class GetUrls {
      /*
       * 读取指定路径下的文件名
       */
      public void getFileList(String fileUrl, String saveUrl) {
          File file = new File(fileUrl);
          File[] fileList = file.listFiles();
          
          for (int i = 0; i < fileList.length; i++) {
              if (fileList[i].isFile()) {
                  String fileName = fileList[i].getName();
                  String url = saveUrl+fileName;
                  UrlsBean UB = new UrlsBean();
                  UB.addUrl(url);
              }
          }
      }
      
      public static void main(String[] args) {
          GetUrls GU = new GetUrls();
          GU.getFileList("C:\\show0724","http://localhost:8080/");
      }
    }
    
    只需要将getFileList()中的文件夹路径换成自己的路径、以及保存进数据库中图片名字前面的路径就好了

    最后效果:
    在这里插入图片描述

    打完收工

    展开全文
  • MySQL保存jpg图片 测试通过

    千次阅读 2015-07-01 17:39:35
    1.MySQL下可通过blob,mediumbolb,longblob等类型来保存图片 2.不同的图片文件类似操作会有所不同,例如.bmp格式图片   示例代码:  //保存图片MySQL  private void btnOpenFile_Click(object ...

    1.MySQL下可通过blob,mediumbolb,longblob等类型来保存图片

    2.不同的图片文件类似操作会有所不同,例如.bmp格式图片

     

    示例代码:

      //保存图片到MySQL

            private void btnOpenFile_Click(object sender, EventArgs e)
            {

        //打开图片文件
                this.openFileDialog1.InitialDirectory = "C:\\";
                this.openFileDialog1.FileName = "";
                this.openFileDialog1.ShowDialog();

        //连接字符串

                string connStr = "server=vitus;User Id=root;Password=******;Persist Security Info=True;database=Test";
                string sql = string.Format("insert into ImageTest values(@id,@picture)");

                FileStream fs = new FileStream(this.openFileDialog1.FileName,FileMode.Open);
                Byte[] bts = new Byte[fs.Length-1];
                fs.Read(bts,0,(int)fs.Length-1);

                MySqlConnection sqlConn = new MySqlConnection(connStr);
                MySqlCommand sqlComm = new MySqlCommand(sql,sqlConn);

                sqlComm.Parameters.Add("@id", MySqlDbType.Int32, 1);
                sqlComm.Parameters["@id"].Value = 2;
                sqlComm.Parameters.AddWithValue("@picture", bts);

                sqlConn.Open();
                sqlComm.ExecuteNonQuery();
                sqlConn.Clone();
            }

     

      //从MySQL中读取并显示图片

            private void btnImageView_Click(object sender, EventArgs e)
            {
                string connStr = "server=vitus;User Id=root;Password=******;Persist Security Info=True;database=Test";
                string sql = string.Format("select * from ImageTest where id=2");

                MySqlConnection sqlConn = new MySqlConnection(connStr);
                MySqlCommand sqlComm = new MySqlCommand(sql, sqlConn);
                sqlConn.Open();
                MySqlDataReader dr = sqlComm.ExecuteReader(CommandBehavior.CloseConnection);
                Image image = null;
                while (dr.Read())
                {
                    MemoryStream buff = new MemoryStream((byte[])dr[1]);
                    image = Image.FromStream(buff, true);
                    buff.Close();
                }

                this.pictureBox1.Image = image;
            }

    展开全文
  • mysql 使用mybatis保存图片

    千次阅读 多人点赞 2019-10-11 18:31:09
    <artifactId>mysql-connector-java <scope>runtime <groupId>org.springframework.boot <artifactId>spring-boot-starter-test <scope>test <groupId>org.springframework...

    1、创建springboot项目

    2、引入依赖

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>2.1.9.RELEASE</version>
    		<relativePath/> <!-- lookup parent from repository -->
    	</parent>
    	<groupId>com.llg</groupId>
    	<artifactId>mybatis</artifactId>
    	<version>0.0.1-SNAPSHOT</version>
    	<name>mybatis</name>
    	<description>Demo project for Spring Boot</description>
    
    	<properties>
    		<java.version>1.8</java.version>
    	</properties>
    
    	<dependencies>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-jdbc</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    		<dependency>
    			<groupId>org.mybatis.spring.boot</groupId>
    			<artifactId>mybatis-spring-boot-starter</artifactId>
    			<version>1.3.2</version>
    		</dependency>
    
    		<dependency>
    			<groupId>mysql</groupId>
    			<artifactId>mysql-connector-java</artifactId>
    			<scope>runtime</scope>
    		</dependency>
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-test</artifactId>
    			<scope>test</scope>
    		</dependency>
    
    	</dependencies>
    
    	<build>
    		<plugins>
    			<plugin>
    				<groupId>org.springframework.boot</groupId>
    				<artifactId>spring-boot-maven-plugin</artifactId>
    			</plugin>
    		</plugins>
    	</build>
    
    </project>
    

    3、实体类

    package com.llg.mybatis.entity;
    
    import lombok.Data;
    
    @Data
    public class Users {
        private Integer id;
        private String username;
        private String password;
        private byte[] pic;
    }
    

    4、前端页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <form action="/upload" enctype="multipart/form-data" method="post">
            <input type="file" name="file"><br>
            <input type="submit" value="提交">
        </form>
    </body>
    </html>

    5、上传方法

    @PostMapping("/upload")
    public String savePic(@RequestParam("file") MultipartFile file){
    	if (file.isEmpty()) {
    		return "上传失败,请选择文件";
    	}
    	try {
    		InputStream is = file.getInputStream();
    		Users u = new Users();
    		u.setUsername("哈哈");
    		u.setUsername("123456");
    		byte[] pic = new byte[(int)file.getSize()];
    		is.read(pic);
    		u.setPic(pic);
    		userService.addUser(u);
    		return "上传成功";
    	} catch (IOException e) {
    		e.printStackTrace();
    	}
    	return "success";
    }

    6、mapper sql语句

    <insert id="addUser">
        insert into users (username, password, pic) values (#{username}, #{password}, #{pic})
    </insert>

    7、启动程序-打开页面-上传图片

    成功

    8、前端获取数据库的图片并展示

    后端代码

    @GetMapping(value="/getPhoto")
    public void getPhotoById(final HttpServletResponse response) throws IOException {
    	Users users = userService.getLastUser();
    	byte[] data = users.getPic();
    	response.setContentType("image/jpeg");
    	response.setCharacterEncoding("UTF-8");
    	OutputStream outputSream = response.getOutputStream();
    	InputStream in = new ByteArrayInputStream(data);
    	int len = 0;
    	byte[] buf = new byte[1024];
    	while ((len = in.read(buf, 0, 1024)) != -1) {
    		outputSream.write(buf, 0, len);
    	}
    	outputSream.close();
    }

    sql语句 

    <select id="getLastUser" resultType="com.llg.mybatis.entity.Users">
        select * from users order by id desc limit 1
    </select>

    结果

     

    展开全文
  • java+mysql实现保存图片到数据库,以及读取数据库存储的图片 </h1> <div class="clear"></div> <div class="postBody"> 一:建表   二:获取数据库连接 1:导入mysql的驱动jar...
  • //下述为与mysql建立连接  $query = "INSERT INTO player_score VALUES (0,'$name','$score',NOW(),'$shot')";  mysqli_query($dbc,$query);    echo '$shot.'" alt="Score image" /></p>';//输出该图片...
  • 在我们设计和制作网站的过程中,有时把图片保存到... 设置数据库 我们通常在数据库中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之处就在于两者所需要保存的数据量不同。MySQL数据库使用专门的字段
  • (1)设置数据库 我们通常在数据库中所使用的文本或整数类型的字段和需要用来保存图片的字段的不同之处就在于两者所需要保存的数据量不同。MySQL数据库使用专门的字段来保存大容量的数据,数据类型为BLOB。 MySQL...
  • 先展示一下效果图: 代码下载: https://gitee.com/wangkaiss/uploadImg 
  • 因为设计的需要,将图片保存到数据库中(很不推荐这样做,这样会消耗数据库的磁盘io和网络带宽)需要完成的部分如下 图片上传的html页面 处理上传图片保存到数据库模块 上传成功取得数据库中的图片模块 图片上传的...
  • 早上用Java做了一下在Mysql中上传及显示图片的测试,struts+hibernatejsp页面姓名电话actionForm代码public class DepartmentForm extends ActionForm {/* * Generated fields *//** tel property */...
  • mysql图片保存和读取

    万次阅读 2007-11-15 23:45:00
    人事信息管理系统中,需要管理用户的个人身份照片。...用户上传的照片先统一保存在一个临时文件夹中,之后可以用 指向临时文件夹中的这个图片,让用户可以预览自己上传的照片。当所有的用户信息都收集完
  • mysql保存Unicode表情

    千次阅读 2015-03-04 11:00:20
    mysql 存储Unicode表情,需要字段定义为utf8mb4 ...
  • 一:建表   二:获取数据库连接 ...1:导入mysql的驱动jar包,mysql-connector-java-5.1.8-bin.jar 2:写代码连接数据库,如下: package pagehelper.mysql.test; import java.sql.Co...
  • MySql 保存大文件

    千次阅读 2016-07-22 19:51:43
    JDBC实现MySql批处理业务场景: 当需要向数据库发送一批SQL语句执行时,应避免向数据库一条条的发送执行,而应采用JDBC的批处理机制,以提升执行效率。 实现批处理有两种方式第一种方式:Connection conn = null; ...
  • 1.保存图片: 开始的步骤,保持不变,成功获取数据后,进入到pipeline.py里面,引入 from scrapy.pipelines.images import ImagesPipeline, 并且继承 ImagesPipeline (如下图): import scrapy # Im...
  • 数据库可以给longblob保存图片 封装好驱动 直接到servlet一次性编写完成 public void addSave(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { int a = 0; ...
  • 前言:在用Java做一些小项目的时候,为了少许的图片上传做一个文件服务器不值得,所以最快最简便的方式就是直接保存到数据库中。 因为部署的时候前后台有可能会分开部署公用一个库,所以把文件存到数据库是最好的...
  • Python将图片保存mysql数据库

    千次阅读 2020-03-22 15:18:55
    记录python将图片保存mysql数据库并读取出来 1、首先明确对应存储的数据类型 BLOB类型的字段用于存储二进制数据 MySQL中,BLOB是个类型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,这几个类型之间的唯一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,595
精华内容 29,438
关键字:

mysql保存图片

mysql 订阅