Как сохранить изображение в MySQL?
Я хочу сохранить изображение в базе данных MySQL. Я создал таблицу с типом данных BLOB, но теперь как сохранить изображение в этой таблице?
2 ответов
вы можете проверить следующий пример:
от java2s.com: вставить изображение в 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'));
чтение содержимого файла (двоичный файл) и вставьте его в insert \ update MYSQL query
много примеров в google:
http://www.java2s.com/Code/Java/Database-SQL-JDBC/InsertpicturetoMySQL.htm