اذهب إلى المحتوى

السؤال

Recommended Posts

  • 1
نشر (معدل)

هذا مشروع جيد جدا بلغة الجافا وهو عبارة انك بتحفظ بيانات منها الصور لقاعدة البيانات mysql وانا عملت المشروع دا وهو سهل وبسيط بس هو بلغة الجافا وليس جافا اف اكس  .. تصفح الفيديو وهو برنامج كامل فيه طريقة لرفع الصورة لقاعدة البيانات 

 

 

تم التعديل في بواسطة Ahmed Sawy
  • 1
نشر (معدل)

في الحقيقة لا يتم تخزين الصور في قاعدة البيانات بل فقط إسمها أو path الخاص بها مع ملفات التطبيق أو أي مكان في النظام, مثلا عندما يحمل المستعمل صورة, نخزنها في مجلد غالبا يكون إسمه upload مع إضافة random text لإسمها ومن ثم نخزن فقط إسمها أو ال path كله في قاعدة البيانات وعند استعراضها نجلب فقط path ومن ثم نتصل بها من مجلد upload, أو يمكنك تخزينها ك blob

try (PreparedStatement ps = con.prepareStatement("INSERT INTO table_name (Nombre,ImagenMonstruo) VALUES (?,?)")) {
    ps.setString(1, obj.getNombre());

    // upload the data, not the toString result of the array
    ps.setBlob(11, new SerialBlob(blob));

    ps.executeUpdate();
}

أقترح عليك الفيديو التالي لترى الفكرة بشكل واضح.

تم التعديل في بواسطة ayoubridouani
  • 1
نشر

عندما نقول أننا نريد تخزين صورة في قاعدة البيانات، فنحن بحاجة لتخزين المسار الخاص بهذه الصورة، مع مراعاة بعض التفاصيل في تخزين إسم هذا المسار بحيث لا يتكرر، فنضيف بجانبه الوقت و التاريخ للإضافة الخاص بكل صورة تتم إضافتها.

  • سأوضح لك كيف تنشأ جدول و تخزن فيه صور عن طريق إستخدام  Oracle database في الـ java :

1. نقوم بإنشاء جدول و ننشأ بداخله عمود لتخزين الصور (إسم الصورة/مسار الصورة)

CREATE TABLE  "IMGTABLE" ( "NAME" VARCHAR2(4000),"PHOTO" BLOB )  

2. الآن سنقوم بكتابة البرنامج الخاص بتخزين الصور داخل الجدول المنشأ، و سنستعمل المسار (d:\\d.jpg) لتحديد موقع الصورة :

    import java.sql.*;  
    import java.io.*;  
    public class InsertImage {  
    public static void main(String[] args) {  
    try{  
    Class.forName("oracle.jdbc.driver.OracleDriver");  
    Connection con=DriverManager.getConnection(  
    "jdbc:oracle:thin:@localhost:1521:xe","system","oracle");  
                  
    PreparedStatement ps=con.prepareStatement("insert into imgtable values(?,?)");  
    ps.setString(1,"sonoo");  
      
    FileInputStream fin=new FileInputStream("d:\\g.jpg");  
    ps.setBinaryStream(2,fin,fin.available());  
    int i=ps.executeUpdate();  
    System.out.println(i+" records affected");  
              
    con.close();  
    }catch (Exception e) {e.printStackTrace();}  
    }  
    }  

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...