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

标签 java mysql database blob

我想将图像存储在 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 服务器主机上,您可以使用 LOAD_FILE()来自 MySQL 客户端的命令:

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

关于java - 如何在 MySQL 中存储图片?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1939162/

相关文章:

ios - 在交互式 UI 上保存 Realm 对象

javascript - 计算并存储表列值的平均值

java - 模拟嵌套循环

java - java @Value 如何工作?

java - 需要帮助将 JTS Geometry 对象数组转换为形状文件

mysql:为什么将 'string' 与 0 进行比较给出了真值?

mysql - 使用子选择或多个查询?

php - Android 到 JSON 到 PHP 到 MySQL

database - 从最大堆中提取的运行时间是多少?

java - YouTube java API v3 : how to pause or interrupt ongoing videdo upload