Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to read and save image from MySQL
    primarykey
    data
    text
    <p>What I have to do is insert an image into the MySQL table and then fetch the image data (saved as blob type) and write it to a file at some file location.</p> <p>So far I have the below code to read the image data from the table and write it as an image file:</p> <pre><code>package imageReadWrite; import dbConnection.testConnection; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.sql.*; public class BlobImageReadWeite { testConnection db = new testConnection(); public String GetImage() { String result = ""; try { db.connect(); System.out.println("this is for test connection"); String Banner_chk = "Select * from banner_file where image_name is not null and status='Active' order by upload_dt DESC LIMIT 1"; ResultSet rs_Banner_chk = db.execSQL(Banner_chk); if (rs_Banner_chk.next()) { System.out.println(rs_Banner_chk.getString("image_name")); Blob blob = rs_Banner_chk.getBlob("image"); File image = new File("test.png"); FileOutputStream fos = new FileOutputStream(image); byte[] buffer = new byte[1024]; // Get the binary stream of our BLOB data InputStream is = rs_Banner_chk.getBinaryStream("image"); while (is.read(buffer) &gt; 0) { fos.write(buffer); } fos.close(); } db.close(); } catch (Exception e) { System.out.println(e); } return result; } public static void main(String[] args) { BlobImageReadWeite obj1 = new BlobImageReadWeite(); obj1.GetImage(); } } </code></pre> <p>The problem being that the image file that is generated is not opening.</p> <p>I am inserting the image into DB using following code</p> <pre><code> package promocode; import java.awt.Toolkit; import java.io.*; import java.util.*; import java.util.Date; import java.text.*; import java.sql.*; import java.util.Vector; import javax.imageio.*; import javax.swing.ImageIcon; import java.awt.*; import db.connection; public class ImageReader { connection db=new connection(); public String fileupload(String flname,String user,String promo_rad)throws IOException, SQLException,ParseException{ String line=null; String line1 = null; String fval = ""; String fval_temp = ""; String flog,fileflag; String sqlst1 = ""; String sqlst2 = ""; String res = "false"; int er_count=0; int cor_count=0; String error_message=""; String chk1=""; String chk2=""; String chk3=""; String chk4=""; System.out.println("the path is"+flname); System.out.println(promo_rad); String filename1=""; filename1=flname.substring(flname.lastIndexOf("\\")+1) ; System.out.println(filename1); try { Image img=Toolkit.getDefaultToolkit().getImage(flname); ImageIcon icon=new ImageIcon(img); int height=icon.getIconHeight(); int width=icon.getIconWidth(); System.out.println("the image height is "+height+" and the image width is "+width); File file = new File(flname); FileInputStream fs = new FileInputStream(file); db.connect(); if(width == 260 &amp;&amp; height == 187){ sqlst2="insert into banner_file (image_name,image, FileType,Status, userid,image_flag,upload_dt,height,width) values ('"+filename1+"','"+fs+"','jpg','Active','"+user+"','"+promo_rad+"',now(),'"+height+"','"+width+"')"; System.out.println(sqlst2); db.updateSQL(sqlst2); res="true"; } }catch(Exception e){ System.out.println(e); } finally{ db.close(); } return res; } public static void main(String[] args) throws Exception { // TODO Auto-generated method stub ImageReader obj1=new ImageReader(); String fn = "C:\\Program Files\\Apache Software Foundation\\Tomcat 7.0\\webapps\\aircel-billpay\\online_images\\Ganesha13.jpg"; String result = obj1.fileupload(fn,"internalpromo","yes"); System.out.println(result); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload