加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 如何在MySQL中存储图片?

发布时间:2020-12-15 02:50:17 所属栏目:Java 来源:网络整理
导读:我想将图像存储在 MySQL数据库中.我创建了一个具有BLOB数据类型的表,但现在如何将图像存储在此表中? 解决方法 您可能需要查看以下示例: 从 java2s.com: Insert picture to MySQL 开始: import java.io.File;import java.io.FileInputStream;import java.i
我想将图像存储在 MySQL数据库中.我创建了一个具有BLOB数据类型的表,但现在如何将图像存储在此表中?

解决方法

您可能需要查看以下示例:

java2s.com: Insert picture to MySQL开始:

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class InsertPictureToMySql {
  public static void main(String[] args) throws Exception,IOException,SQLException {
    Class.forName("org.gjt.mm.mysql.Driver");
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/databaseName","root","root");
    String INSERT_PICTURE = "INSERT INTO MyPictures (photo) VALUES (?)";

    FileInputStream fis = null;
    PreparedStatement ps = null;
    try {
      conn.setAutoCommit(false);
      File file = new File("/tmp/photo.png");
      fis = new FileInputStream(file);
      ps = conn.prepareStatement(INSERT_PICTURE);
      ps.setBinaryStream(1,fis,(int) file.length());
      ps.executeUpdate();
      conn.commit();
    } finally {
      ps.close();
      fis.close();
    }
  }
}

MySQL表:

CREATE TABLE MyPictures (
   photo  BLOB
);

如果映像位于MySQL服务器主机上,则可以使用MySQL客户端的LOAD_FILE()命令:

INSERT INTO MyPictures (photo) VALUES(LOAD_FILE('/tmp/photo.png'));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读