الانتقال إلى المحتوى

كيفية ادخال صوره في قاعده البيانات اوركل


kinghima

Recommended Posts

السلام عليكم ورحمة الله وبركاته

انا اقوم بأنشاء تطبيق باستخدام ال jdeveloper 9i واحاول عمل upload photo or vedio الي قاعده البيانات عن طريق استخدام ال servlets وكيفية استراجعها من ال database وعرضها للمستخدم ولكني اجد صعوبه . واريد المساعده .
شكرا جزيلا

رابط هذا التعليق
شارك

أناأيضاً أقوم بنفس العمل لكن باستخدام JDeveloper10g و تقنية ADF

عموماً إذا كان نوع الحقل في قاعدة البيانات من نوع BLOB فهذا الرابط فيه درس كامل يوضح تخزين هذا النوع باستخدام JDBC
http://www.araboug.org/ib/index.php?showtopic=1550

أما لو أردت طريقة أسهل واقوى ولا أعلم إن كانت مدعومة في 9i أم لا .. وهي استخدام تقنية ADF و هذا مثال كامل بالكود:
ADF BC Streaming Media

دعواتي لك بالتوفيق

رابط هذا التعليق
شارك

ياعيني عليك ياخالد عبدالله ..
kinghima .. اذا تحتاج الكود يكون Pure JavaServlet بإمكاني تزويدك به .. اما عن الطريقة التي زودنا بها الاخ خالد
فتقنية ADF لم تظهر الا مع JDeve10g

قُدماً ..

رابط هذا التعليق
شارك

شكرا جزيلا لك اخ خالد وانا سوف اجرب هذا الكود في الحال لاني متحمس جدا لعمل هذا الكود .
وللاسف انا شغال علي jdeveloper 9i ولا توجد تقنية ال ADF فيه . لذا اذا امكنك اخ احمد الجابري بكود pure servlets فهذا يكون افضل بكثير لاني اعمل pure servlets وشكرا جزيلا لكما.

رابط هذا التعليق
شارك

العفو

kinghima بما أنك ستتعامل باستخدام Servlet فأنت ستستخدم JDBC لعمل كل أوامر قواعد البيانات و هذا موجود في الرابط الموجود في ردي الأخير ..
يبقى عليك فقط أن تعمل فورم على صفحة jsp و في كلاس الـServlet تأخذ المدخلات عن طريق object من الكلاس HttpServletRequest .. أتمنى لو أن الوقت أسعفني لأعطيتك مثال كامل .

أخيراً أنا أفضل عدم كتابة كود الجافا داخل صفحة jsp (وهو ما يسمى scripting ) و إنما كما ذكر الأستاذ أحمد عن طريق Servlet تربطها مع صفحتك باستخدام xml لمزيد من الأمان و سهولة التعديل .

دعواتي لك بالتوفيق

رابط هذا التعليق
شارك

اهلا اخ خالد
انا حبيت بس اقولك ان انا لسه مبتدئ في الويب ابلاكيشن
وانا فعلا باستخدم ال JDBC وطريقه استخدامي لل jdeveloper هي انني اقوم بعمل العلميات الرئيسه عن طريق statement.execute query وذلك في حاله عمل سلكشن او statement.execute لعمل update or delete وباقي واجه المستخدم تكون html عادي مكتوب في نفس كود السيرفلت وبعد دلك اخي العزير بعد ال compilation اخذ ال class الناتجه واضعها في فولدر السيرفلتز بداخل ال oracle appace وبعد ذلك استدعيها عن طريق iexplorer . وهذا لانني غير خيبر ببيئة الـ jdeveloper ولا اعرف xml .
لقد جربت الكود السابق ولكن لم يعمل لللاسف .
شكرا لك اخ خالد وانا مستني ردك . سلام

رابط هذا التعليق
شارك

حتى أنا مبتديء :huh:

عموماً هذا الملف المرفق ستجد فيه مشروع كامل اسمه compKSA عملته قبل ستة شهور تقريباً ..باستخدام Servlet + html form
وفيها درس بوربوينت Lect09 يشرح كيفية التعامل مع قواعد البيانات باستخدام الـ servlet


أتمنى تفيدك واي استفسار أو صعوبة تواجهها احنا حاضرين :unsure:

servlet.zip

تم تعديل بواسطة خالد عبدالله
رابط هذا التعليق
شارك

لذيذ علي فكره خالد جزء البوربوينت انا علي فكره شغال servlets and html من حوالي 3 شهور كده
والمشكله اللي بتقابلني دلوقتي هي مشكله ال upload
لاني كنت بعملها بطريقه مش ظريفه خالص وهي انك تقوم بعمل ftp في الاول للصوره الي فولدر في السيرفر وبعد ذلك من خلال ال servlets تعمل save to it's name علشان تستدعيها من علي السيرفر . ولكني الان اريد ان اعمل في ال html براوز وبعدين upload فيقوم بنقل الملف الي السيرفر عندي في فولدر معين ويعطيها اسم وليكن x1 وبعد ذلك استدعيها عن طريق اسمها الذي سيكون في الداتا بيز
سلام ومع تمنياتي بالتوفيق لك .

رابط هذا التعليق
شارك

حقيقة لم أجربها لكن أتمنى هذا الكود يساعدك :
HTML Form :

<html> 
<head><title>Upload File 
</title> 
</head> 
<body> 
<form action="http://microserf:80/servlet/FileUpload" method=post enctype="multipart/form-data"> 
<center> 
Enter file to upload : 
<input type=file name="file"> 
<p><input type=submit value="Submit"></p> 
</center> 
</form> 
</body> 
</html>




Servlet :

import com.oreilly.servlet.MultipartRequest; 
import javax.servlet.*; 
import javax.servlet.http.*; 
import java.util.*; 
import java.io.*; 


public class FileUpload extends HttpServlet 
{ 
 public void doPost(HttpServletRequest request,HttpServletResponse response) 
             throws ServletException,IOException 
{ 
               response.setContentType("text/html"); 
               PrintWriter out = response.getWriter(); 
               MultipartRequest multi = new MultipartRequest(request, "j:\\"); 
               out.println("Files:"); 
               Enumeration files = multi.getFileNames(); 
               while (files.hasMoreElements()) 
                { 
                     String name = (String)files.nextElement(); 
                     String filename = multi.getFilesystemName(name); 
                     String type = multi.getContentType(name); 
                     out.println("<BR>name: " + filename); 
                     out.println("<BR>filename: " + filename); 
                     out.println("<BR>type: " + type); 
                  } 
             } 
} 




وهذا مثال كامل لكيفية رفع الملفات والتحكم
http://www.vonloesch.de/jspbrowser.html


ولعل الأستاذ أحمد يفيد في الموضوع أكثر مني

بالتوفيق :unsure:

رابط هذا التعليق
شارك

  • بعد 2 أسابيع...

شكرا لك اخ خالد وانا اسف علي عدم الرد خلال الفتره الاخيره وذلك لبعض الظروف
ان شاء الله هشوف الكود ده وهرد عليك باذن الله
سلام

رابط هذا التعليق
شارك

تجد هنا مثال اخر باستخدام Java Beans مع الشرح

http://www.onjava.com/lpt/a/745

واظنه يناسب احتياجاتك اكثر .

رابط هذا التعليق
شارك

في مشكله في الكود الخاص بالاخ خالد وهي ان
1- cant access class import com.oreilly.servlet.MultipartRequest;
2- calss multipartrequest not found in class uploadfile .
انا بستخدم jdeveloper 9i ممكن تكون الكلاسات دي مش موجوده في اليبرري الخاص ب 9i ؟

تم تعديل بواسطة kinghima
رابط هذا التعليق
شارك

السلام عليكم
اريد تعليق علي هذا الكود
<html>
<head><title>Upload File
</title>
</head>
<body>
<FORM ACTION="/servlets/fileupload" METHOD="POST" ENCTYPE="multipart/form-data">
Id: <INPUT TYPE="TEXT" NAME="id" LENGTH=10>
Photo: <INPUT TYPE="FILE" NAME="photo" LENGTH=40>
<INPUT TYPE="SUBMIT" TEXT="SUBMIT">
</FORM>

</body>
</html>
وهذا كود الجافا

import javax.servlet.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
import java.sql.*;
import oracle.ord.im.*;
import oracle.jbo.*;
import oracle.*;

public class fileupload extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
String data = "jdbc:odbc:uni";
response.setContentType("text/html");
PrintWriter out = response.getWriter();
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con= DriverManager.getConnection( data ,"uni","uni");
con.setAutoCommit(false);
OrdHttpUploadFormData formData = new OrdHttpUploadFormData( request );
formData.parseFormData();
String id = formData.getParameter( "id" );
//Row row = viewObject.createRow();
OrdHttpUploadFile photo = formData.getFileParameter( "photo" );
OrdImageDomain img = new OrdImageDomain();
img.setContentSource(new OrdHttpUploadFileSource(photo));
img.setAttribute("photo",img);
Statement stm=con.createStatement();
stm.execute("insert into demo(id,image) values('"+id+"','"+photo+"')");
con.commit();
out.println("ya rab tesht3'l");
stm.close();

} catch ( Exception e)
{
System.out.println("Error - "+e.toString());
}

}
}

وعند تشغيل هذا الكود يعطي خطاء وهو
internal server error or misconfigration
ياريت تجربوه عندكو من فضلكوا
مع الشكر

fileupload.java

تم تعديل بواسطة kinghima
رابط هذا التعليق
شارك

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

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

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  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.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية