Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lưu hình ảnh trong MySQL từ Java

Bạn đang chuyển đổi byte [] thành một chuỗi trong câu lệnh sql của mình và bạn sẽ nhận được dữ liệu không chính xác.

Cách phù hợp để sử dụng BLOB là chuyển InputStream chinh no. Bạn có thể sử dụng FileInputStream bạn đang sử dụng để đọc tệp.

File image = new File(path);
FileInputStream fis = new FileInputStream ( image );

String sql="insert into imgtst (username,image) values (?, ?)";
pst=con.prepareStatement(sql);

pst.setString(1, user);
pst.setBinaryStream (2, fis, (int) file.length() );

Khi lấy lại, bạn cũng có thể nhận được một InputStream tương tự từ ResultSet :

InputStream imgStream = resultSet.getBinaryStream(2); 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tạo bảng dựa trên Tập kết quả JDBC

  2. Cách cải thiện hiệu suất truy vấn với nhiều JOIN

  3. Ý nghĩa của các ký tự được trích dẫn dấu trọng âm (AKA backtick) trong MySQL là gì?

  4. Hàm MySQL để tìm số ngày làm việc giữa hai ngày

  5. MySQL - Làm thế nào để chọn các hàng có giá trị trong mảng?