PDA

View Full Version : ذخیره عکس در پایگاه داده h2



parnian~parnian
شنبه 06 مهر 1392, 21:52 عصر
سلام دوستان

دو تا سوال دارم .........چطور میشه توی پایگاه داده h2 عکس ذخیره کرد ؟

و اینکه چطور میشه یه عکسی که بعدا تو فایل های برنامه گذاشته میشه رو باز کرد ؟ مثلا یه تصویر رو که کاربر توی فایل برنامه میذاره رو توی یه فرم گذاشت ...... در واقع راه دومی برای اینکه اگه نشد عکس رو توی پایگاه داده ذخیره کرد میخوام

parnian~parnian
دوشنبه 15 مهر 1392, 22:25 عصر
بچه ها واقعا کسی جواب من رو نمیدونه؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟

من خودم یه راهی براش پیدا کردم .............. این که کاربر عکس رو توی فایلی که فایل jar اون جاست ذخیره کنه بعدش زمان ثبت اطلاعات شخص ، عکس طرف رو از تو فایل باز کنه نمایش داده بشه تو فریم و اسمش توی پایگاه داده ذخیره بشه ........................ ولی مشکل این راه حل اینه که همه ی عکسا در معرض دید همه هست

به نظر خودم غیر منطقیه کسی راه حلی نداره ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

spiderman200700
دوشنبه 15 مهر 1392, 23:24 عصر
این کار حجم دیتابیس رو خیلی بالا میبره و اصولی نیست.
به هر حال میتونی از این روش استفاده کنی.
عکس رو به رشته تبدیل کن و در یه فیلد از نوع text ذخیره کن.

BufferedImage image = ImageIO.read(new File("c:/yourImage.jpg"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos);
baos.flush();
String strImage = baos.toString();
baos.close();
saveStrImageToDB(strImage);

هر وقت خواستی عکس رو بازیابی کنی، همون رشته رو بخون و به Image تیدیلش کن:
String strImage = getStrImageFromDB();
InputStream in = new ByteArrayInputStream(strImage.getBytes());
BufferedImage bImageFromConvert = ImageIO.read(in);
ImageIcon imageIcon=new ImageIcon(bImageFromConvert);

امیدوارم به دردت خورده باشه. موفق باشی

parnian~parnian
شنبه 20 مهر 1392, 22:19 عصر
وای ممنون حتما تست می کنم نمیدونم چرا به فکر خودم نرسید :لبخند: