Jsp ile resim kaydediyorum ama onu çekmek isteyince ya yolu geliyor yada setBlob olarak çekince com.mysql.jdbc.Blob@6495aa37 şeklinde geliyor. Nasıl Resim olarak çekebilirim verileri ?

soruldu: 13 Haz, 10:10

mrsdev's gravatar image

mrsdev
25233
cevap kabul oranı: 0%

resimi blob tipinde bir alana kaydediyorsun değil mi? Adresinin gelmesi bir garip geldi

(13 Haz, 13:54) Kazım Kaz%C4%B1m's gravatar image

kodlarını buraya http://paste.ubuntu.com/ yapıştırırsan yardımcı olabilirim.

(14 Haz, 17:00) emrecan-oztas emrecan-oztas's gravatar image

Mantık olarak sana blobdan dosya indirmek için kullanabileceğin kod örneğini vermeye çalışayım :

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

 public class DownloadFileFromDb {

    public static void main(String[] args) {

    final String host = "jdbc:mysql://localhost/onurDB";
    final String user = "xxxxx";
    final String pass = "XXXXXX";
    String SQL = "SELECT PICTURE FROM `PIC_STORE` WHERE `ID`=?";

    Connection conn = null;
    java.sql.PreparedStatement smt = null;
    InputStream input = null;
    FileOutputStream output = null;
    ResultSet rs = null;

    try {

        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Connecting...");

        conn = DriverManager.getConnection(host, user, pass);
        System.out.println("Connection successful..\\nNow creating query...");

        smt = conn.prepareStatement(SQL);
        smt.setString(1, "4");  //in this row we have a png picture
        rs = smt.executeQuery();

        output = new FileOutputStream(new File("/Users/MacbookPro/Downloads/pic.png"));
        System.out.println("Getting file please be patient..");

        while (rs.next()) {

            input = rs.getBinary(1); //get it from col name
            int r = 0;

            while ((r = input.read()) != -1) {
                output.write(r);

            }
        }
        System.out.println("File writing complete !");

    } catch (ClassNotFoundException e) {
        System.err.println("Class not found!");
        e.printStackTrace();
    } catch (SQLException e) {
        System.err.println("Connection failed!");   
        e.printStackTrace();
    } catch (FileNotFoundException e) {
        System.err.println("File not found!");
        e.printStackTrace();
    } catch (IOException e) {
        System.err.println("File writing error..!");
        e.printStackTrace();
    }finally {
        if(rs != null){
            try {
                input.close();
                output.flush();
                output.close();
                smt.close();
                conn.close();
            } catch (SQLException e) {
                System.err.println("Connot close connecton!");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
    }

}

}

permanent link

cevaplandı: 30 Eki, 21:20

Coder%20ACJHP's gravatar image

Coder ACJHP
20839
cevap kabul oranı: 13%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,079
×144
×112
×35
×2

Soruldu: 13 Haz, 10:10

Görüntüleme: 258 kez

Son güncelleme: 30 Eki, 21:20

powered by BitNami OSQA