Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Postgres resim kaydetme
#1
Merhaba

Postgre veritabanina unidac ile resim kaydetmek istiyorum. 
Standart olarak kullandigim(firebird,sqlite) blob kodu calismiyor.
Elinizde ornek bir kod paylasimi var mi ?
Iyi calismalar.
Cevapla
#2
Merhaba,
PostgreSQL veri tabanında, blob veri türü yok. Bunun yerine, tüm binary veri türlerini saklayabileceğiniz BYTEA veri tipi vardır.
Öncelikle resmi kaydetmeye çalıştığınız alanın BYTEA tipinde olup olmadığını kontrol edin. Değilse, bu tipe dönüştürün.
Bu işlemden sonra eminim ki, bir önceki çalışmalarınızda kullandığınız kodlar (TBlobField(DBAlan).LoadFromFile, veya LoadFromStream gibi) çalışacaktır.
Cevapla
#3
(25-02-2020, Saat: 14:32)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba,
PostgreSQL veri tabanında, blob veri türü yok. Bunun yerine, tüm binary veri türlerini saklayabileceğiniz BYTEA veri tipi vardır.
Öncelikle resmi kaydetmeye çalıştığınız alanın BYTEA tipinde olup olmadığını kontrol edin. Değilse, bu tipe dönüştürün.
Bu işlemden sonra eminim ki, bir önceki çalışmalarınızda kullandığınız kodlar (TBlobField(DBAlan).LoadFromFile, veya LoadFromStream gibi) çalışacaktır.

Resimi kaydettim. Teşekkür ederim. BYTEA field type için size seçeneği KB,Mb hangisidir? 0 olarak bıraktığımda kayıt yapamadım.
size olarak 1000 seçtim ve 200 kb png dosyasını kaydettiğimde 1.6mb boyut gösterdi. Bu anormal değil mi?


[img]BG9rVv.png[/img]
Cevapla
#4
(25-02-2020, Saat: 20:58)41linea41 Adlı Kullanıcıdan Alıntı: Resimi kaydettim. Teşekkür ederim. BYTEA field type için size seçeneği KB,Mb hangisidir? 0 olarak bıraktığımda kayıt yapamadım.
size olarak 1000 seçtim ve 200 kb png dosyasını kaydettiğimde 1.6mb boyut gösterdi. Bu anormal değil mi?
[img]BG9rVv.png[/img]

Alan tanımlaması için bir size belirlediğinizde, muhtemelen boş da olsa bunun için bir rezervasyon işlemi yapacaktır.
Daha önce tasarlamış olduğum bir PostgreSQL veri tabanı üzerinde BYTEA tipinde bir alanım var.
Boyutuna baktığımda, fiziksel boyutu ile aynı görünüyor. Veri tabanı üzerinde dosya size'ının haricinde bir kapasite tahsisi yok.

SELECT id,
      ad,
      icerik,
      octet_length(icerik) as Boyut
FROM saha_takip.dosya 

   
Cevapla
#5
BYTEA tipini seçince DBA aracı size alanını disable yapıyor. 
Bu durum, size belirtilmemesini ifade ediyor.

   
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi