2009-12-21 14 views
7

मैं एक छवि को एक MySQL डेटाबेस में संग्रहीत करना चाहता हूं। मैंने एक ब्लॉब डेटाटाइप के साथ एक टेबल बनाई है, लेकिन अब मैं इस तालिका में छवि को कैसे स्टोर करूं?मैं MySQL में एक तस्वीर कैसे संग्रहीत करूं?

+4

बेहतर विकल्प डीबी में छवि के भौतिक पथ को स्टोर किया जा सकता है। –

उत्तर

11

आप निम्न परीक्षा जांचना चाहेंगे ई:

से 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')); 
+0

क्या हम सरल क्वेरी भाषा का उपयोग कर छवि डाल सकते हैं? –

+3

हां, आप 'LOAD_FILE()' फ़ंक्शन का उपयोग करने का प्रयास करना चाह सकते हैं: 'mytbl (image_data) VALUES (LOAD_FILE ('/tmp/myimage.png ') में शामिल करें;' (http://www.freeopenbook.com /mysqlcookbook/mysqlckbk-CHP-17-SECT-7.html) –

+0

यह कामकाजी साथी नहीं है .... –

संबंधित मुद्दे