[]
java veritabanındaki longblob'a dosya kaydı
java bilen arkadaşlar bakıverirse çok sevinirim.
şimdi bir gui formdan, kullanıcının yüklemek istediği dosyayı (.doc, .pdf, vs.)alıp veritabanındaki long blob field'a yerleştirmem, ve daha sonra oradan geri aynı formatta çağırabilmem gerekiyor. veritabanı bağlantı ve sql konusunda sıkıntım yok ancak javaya çok hakim olmadığımdan file handling olayını bilmiyorum. normalde googleda saatler harcardım çözmek için, ancak proje teslimi çok yakında acilen çözmem gerekiyor. standart swing programı.
özet haliyle gui'de bir düğme olan, kullanıcıya dosya seçtirecek, seçtiği dosyayı veritabanına kaydedecek, başka bir yerden de bir düğmeye basınca o dosyayı indirecek(tercihen kullanıcının istediği lokasyona) bir program gerekiyor bana.
her türlü yardım çok makbule geçecektir. teşekküler.
şimdi bir gui formdan, kullanıcının yüklemek istediği dosyayı (.doc, .pdf, vs.)alıp veritabanındaki long blob field'a yerleştirmem, ve daha sonra oradan geri aynı formatta çağırabilmem gerekiyor. veritabanı bağlantı ve sql konusunda sıkıntım yok ancak javaya çok hakim olmadığımdan file handling olayını bilmiyorum. normalde googleda saatler harcardım çözmek için, ancak proje teslimi çok yakında acilen çözmem gerekiyor. standart swing programı.
özet haliyle gui'de bir düğme olan, kullanıcıya dosya seçtirecek, seçtiği dosyayı veritabanına kaydedecek, başka bir yerden de bir düğmeye basınca o dosyayı indirecek(tercihen kullanıcının istediği lokasyona) bir program gerekiyor bana.
her türlü yardım çok makbule geçecektir. teşekküler.
denenmiş, zamanında kendi yazdığım kod.
object adlı nesneyi BLOB'a çevirme:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(object);
byte[] personAsBytes = bos.toByteArray();
out.close();
bos.close();
BLOB'dan geri nesneyi elde etme (object olarak):
Blob blob = (Blob) ...(burada db'den alacaksın blob'u)...;
ObjectInputStream ois = new ObjectInputStream(blob.getBinaryStream());
Object object = ois.readObject();
ois.close();
DB kısımlarına girmedim, JDBC veya ORM kullanımına göre değişir o kısım çünkü.
object adlı nesneyi BLOB'a çevirme:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(object);
byte[] personAsBytes = bos.toByteArray();
out.close();
bos.close();
BLOB'dan geri nesneyi elde etme (object olarak):
Blob blob = (Blob) ...(burada db'den alacaksın blob'u)...;
ObjectInputStream ois = new ObjectInputStream(blob.getBinaryStream());
Object object = ois.readObject();
ois.close();
DB kısımlarına girmedim, JDBC veya ORM kullanımına göre değişir o kısım çünkü.
- samfisher (15.05.13 23:59:51)
1