الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

كيفية إسترجاع مسار و محتويات و اسم ال Upload File وحفظهم في الداتابيس؟

Featured Replies

بتاريخ:

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

عندي مشكلة و اريد مساعدتكم

المشكله تتلخص في أنه يوجد جدول يستخدم في ادخال بيانات و حفظها من خلال ADF form و زر commit

أريد أن أجعل اليوسر يقوم بعمل upload لأي ملف في مسار محدد علي السيرفر و بالفعل قمت بخطوات شرح المهندس مصطفي ماجد و الكود الحمد لله شغال كويس و بيحفظ اي نوع ملفات ع المسار المحدد

و قمت بزيادة ثلاثة أعمده FileName - ContetType - Path علي الجدول المسحوب منه هذه  ADFform  وكذلك قمت باضافتهم في ال EO و ال VO المرتبطين بهذا الجدول  حتي أتمكن من تخزين معلومات ما قام اليوسر برفعه بالداتابيز وحتي اتمكن من استرجاعها عن طريق ال userId الذي قام بال upload

وجربت أكثر من طريقه من الانترنت ولم تصلح ...

وسأرفق لحضراتكم طريقه من ضمن الطرق التي وجدتها و لم تصلح

وللعلم فقد طبقت هذه الطريقه و قمت بعمل execute لل method الموجوده بال AmiImpl كما هو موضح بالصوره وعند التفيذ يقوم باعطاء رسالة خطأ تفيد بأن حقل ال ID لا يجب ان يكون فارغ علي الرغم من انني ادخلته فعلا قبل الحفظ

أنا اعلم ان المشكله بالكود الموجود في ال AmiIMpl لأنه يقوم بعمل حفظ و لكني قمت بتعديله و لم يصلح

أسف جدا ع الاطاله ... فقط حاولت التوضيح قدر المستطاع

 

لذا أرجوا مساعدتني

أشكركم

bean.txt

AMIIMP.txt

  • الردود 33
  • المشاهدات 3.4k
  • البداية
  • اخر رد

أكثر المشاركين في هذا الموضوع

Most Popular Posts

  • حسناً ما المشكلة التي قابلتها؟ حسب كلامك فإن الملف تم حفظه بنجاح

  • ميسم الكرام
    ميسم الكرام

    الأخت تنزيل سبب الخطأ أنه أثناء تنفيذك للصفحة لم يتم إختيار أو تحديد (file) للرفع  فحضرتك مباشرة تقومين بالضغط على زر Upload  من دون إختيار file ولهذا عند الضغط على زر Upload يتم التحقق على إسم الـ

الصور المنشورة

بتاريخ:

هل تريد الحفظ على هيئة BLOB؟

بتاريخ:
  • كاتب الموضوع

هل تريد الحفظ على هيئة BLOB؟

والله ياباشمهندس مصطفي انا بفضل حفظ الملفات اللي هيتعملها upload علي الهارد ديسك والاكتفاء بالاحتفاظ بمعلومات عنها زي اسمها و مسارها مثلا جوا الداتا بيز وذلك حتي لا يزيد حجم الداتا بيس... اشكرك

بتاريخ:

حسناً ما المشكلة التي قابلتها؟

حسب كلامك فإن الملف تم حفظه بنجاح

بتاريخ:
  • كاتب الموضوع

حسناً ما المشكلة التي قابلتها؟

حسب كلامك فإن الملف تم حفظه بنجاح

المشكله أن الاعمده التي قمت باضافتها(contentType-fileName-path)  لحفظ معلومات الملف الذي تم عمل upload له لم تحفظ بالداتا بيس لا تحفظ شيئا

بتاريخ:
  • كاتب الموضوع

أريد فقط بعد رفع الملف و الضغط علي commit يقوم بحفظ هذه البيانات بالداتا بيس

بتاريخ:

 

حسناً ما المشكلة التي قابلتها؟

حسب كلامك فإن الملف تم حفظه بنجاح

المشكله أن الاعمده التي قمت باضافتها(contentType-fileName-path)  لحفظ معلومات الملف الذي تم عمل upload له لم تحفظ بالداتا بيس لا تحفظ شيئا

 

الكود يقوم بقراءة المعلومات فقط

أنت لم تضع أي جملة لحفظ هذه البيانات

بتاريخ:
  • كاتب الموضوع

 

 

حسناً ما المشكلة التي قابلتها؟

حسب كلامك فإن الملف تم حفظه بنجاح

المشكله أن الاعمده التي قمت باضافتها(contentType-fileName-path)  لحفظ معلومات الملف الذي تم عمل upload له لم تحفظ بالداتا بيس لا تحفظ شيئا

 

الكود يقوم بقراءة المعلومات فقط

أنت لم تضع أي جملة لحفظ هذه البيانات

 

باشمهندس مصطفي مشكور علي الرد

سأحاول توضيح الامر أكثر

أنا استخدمت نفس الطريقه الموجوده بهذا اللينك :

http://quickadf.blogspot.com.eg/2015/04/file-uploading-and-downloading-in.html

بالضبط

ولكني المشكله التي وقعت فيها هي :  في ال application الذي اعمل به بعد دخول اليوسر بنجاح  تظهر له adf Form خاليه لتسجيل بعض البيانات و بعدها يضغط علي زر commit الذي يقوم بدوره بالحفظ و وتفريغ محتويات ال form مره اخري لتستقبل اي بيانات جديده(وحضرتك شرحت الطريقه دي قبل كده)

فطلب مني تعديل هذه الفورم بحيث تسمح لليوسر بعمل attach في نفس الفورمه و بعد الضغط علي commit يتم حفظ بيانات الملف في الجدول

ولأني أعلم طريقة ال upload فقط و لا أعلم كيفية حفظ معلومات الملف المرفق في  db إستخدمت الطريق السابقه

و التي كانت نتيجتها انني بمجرد الضغط عل زر ال upload و اختيار الملف يظهر امامي الملف بمحتوياته و مساره و نوعه مع رسالة خطأ تفيد بوجوب ادخال ال Id علي الرغم انه تم ادخاله بالفعل و بالتالي عدم حفظ اي شيئ مطلقا

لذلك توقعت ان المشكله في الميثود الموجوده في ال AmImpl لأنها تقوم بعمل newRow و ملئ محتوياته ثم عمل commit فحاولت تعديلها او ايجاد طريقة أسهل و لم انجح في ذلك

فاذا تكرمت لو ان هناك طريقه للوصول الي المطلوب أكون شاكرا

وجزاكم الله خيرا

بتاريخ:
  • كاتب الموضوع

 

حسناً ما المشكلة التي قابلتها؟

حسب كلامك فإن الملف تم حفظه بنجاح

المشكله أن الاعمده التي قمت باضافتها(contentType-fileName-path)  لحفظ معلومات الملف الذي تم عمل upload له لم تحفظ بالداتا بيس لا تحفظ شيئا

 

أشكرك باشمهندس مصطفي

الحمد لله وصلت للحل و اشتغلت تمام

بتاريخ:

تمام جيد

  • بعد 2 أسابيع...
بتاريخ:

السلام عليكم ورحمة الله هل يوجد فرق بين حفظ الملفات فى الداتابيز وحفظها على فولدر فى الجهاز واذ تكرمتو اريد مثال مطبق على  الحفظ فى الفولدر

بتاريخ:

اقصد من ناحيه المساحه

بتاريخ:

اقصد من ناحيه المساحه

لا فرق تقريباً

بتاريخ:

السلام عليكم ياباشمهندس عندى مشكله فى الupload اشتغلت بنفس الطريقه بتاعة الفيديو بس لما اضغط  uploadتجينى الرساله

 

Error 500--Internal Server Error
javax.faces.el.EvaluationException: java.lang.NullPointerException	at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:51)	at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)	at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:190)	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)	at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)	at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:788)	at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:306)	at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:186)	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)	at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)	at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)	at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)	at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)	at oracle.adf.share.http.ServletADFFilter.doFilter(ServletADFFilter.java:62)	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)	at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)	at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)	at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)	at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)	at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)	at java.security.AccessController.doPrivileged(Native Method)	at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)	at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)	at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)	at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)	at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)	at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)	at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)	at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)	at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)	at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)	at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)	at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)	at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)	at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)Caused by: java.lang.NullPointerException	at hr.view.backing.Upload.upload_action(Upload.java:73)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)	at java.lang.reflect.Method.invoke(Method.java:597)	at com.sun.el.parser.AstValue.invoke(Unknown Source)	at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)	at org.apache.myfaces.trinidad.component.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:46)	... 44 more
بتاريخ:

يجب مراجعة هذا السطر Upload.java:73

بتاريخ:

تقريبا مشكلتى فى exption بس ماعرفت المشكله ايه

بتاريخ:

 

 

السلام عليكم ياباشمهندس ماعرفتش ايه المشكله لى يومين شغاله عليه  بس ده الكود تبعى 

 

 

package hr.view.backing;

 

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

 

import oracle.adf.view.rich.component.rich.RichDocument;

import oracle.adf.view.rich.component.rich.RichForm;

import oracle.adf.view.rich.component.rich.input.RichInputFile;

import oracle.adf.view.rich.component.rich.input.RichInputText;

import oracle.adf.view.rich.component.rich.nav.RichCommandButton;

 

import org.apache.myfaces.trinidad.model.UploadedFile;

 

public class Upload {

    private String name;

    private UploadedFile uploadedfile;

    private RichForm f1;

    private RichDocument d1;

    private RichInputText it1;

    private RichInputFile if1;

    private RichCommandButton cb1;

    private UploadedFile file;

 

    public void setF1(RichForm f1) {

        this.f1 = f1;

    }

 

    public RichForm getF1() {

        return f1;

    }

 

    public void setD1(RichDocument d1) {

        this.d1 = d1;

    }

 

    public RichDocument getD1() {

        return d1;

    }

 

    public void setIt1(RichInputText it1) {

        this.it1 = it1;

    }

 

    public RichInputText getIt1() {

        return it1;

    }

 

    public void setIf1(RichInputFile if1) {

        this.if1 = if1;

    }

 

    public RichInputFile getIf1() {

        return if1;

    }

 

    public void setCb1(RichCommandButton cb1) {

        this.cb1 = cb1;

    }

 

    public RichCommandButton getCb1() {

        return cb1;

    }

 

        public String upload()  throws  Exception{

            // Add event code here...

           

                                                  {

                    String uploadFolder="c:\\mytemp\\";

                   File myFile = new  File(uploadFolder);

                     if (myFile.exists () == false)     {

                         myFile.mkdir();

                                     }

                        InputStream is  = uploadedfile.getInputStream();

                          byte[]  buffer = new byte [1024];

                         String fileName = uploadedfile.getFilename();

                             FileOutputStream fos = new  FileOutputStream

                              (uploadFolder + fileName);

                                int bytesread =0;

                                while

                            ( (bytesread =  is.read(buffer))  != -1) 

                                                                  {

                                         fos.write(buffer, 0, bytesread );

                                                                                                          

                                                                                                      }

                                         fos.flush();

                                  fos.close();

                                   is.close();

                            uploadedfile.dispose();

                                                                  

            return null;

        }

    }

 

 

    /**

     * @param name

     */

    public void setName(String name) {

        this.name = name;

    }

 

    public String getName() {

        return name;

    }

 

    public void setUploadedfile(UploadedFile uploadedfile) {

        this.uploadedfile = uploadedfile;

    }

 

    public UploadedFile getUploadedfile() {

        return uploadedfile;

    }

 

    public void setFile(UploadedFile file) {

        this.file = file;

    }

 

    public UploadedFile getFile() {

        return file;

    }

}

 

بتاريخ:

أيها السطر 73

بتاريخ:

  InputStream is  = uploadedfile.getInputStream();

بتاريخ:

هل تم ربط المتغير uploadedfile في الصفحة؟

بتاريخ:

ايوه تم ربطه

بتاريخ:

الأخت تنزيل

سبب الخطأ أنه أثناء تنفيذك للصفحة لم يتم إختيار أو تحديد (file) للرفع 

فحضرتك مباشرة تقومين بالضغط على زر Upload  من دون إختيار file ولهذا عند الضغط على زر Upload يتم التحقق على إسم الـ file يجد القيمة null ويظهر هذا الخطأ أو بالأحرى يظهر Exception نوع NullPointerException

فالمتعارف عليه تحديد file للرفع ثم الضغط على زر Upload

 

أوليس هذا الخطأ الذي يظهر لديك كما في الصورة المرفقة تعمدت إظهار الخطأ كي ترين النتيجة

post-41781-0-62690200-1462973846_thumb.jpg

بتاريخ:

حسناً هل خاصية usesUpload تساوي true؟

بتاريخ:

السلام عليكم

باشمهندسه ميسم انا بخت الملف وبعديها بضغط upload وبتجينى الرساله اياها

باشمهندس مصطفى الخاصيهuser uploadلقيتها true هل مفروض اعملها falseاو اخليها true

بتاريخ:

السلام عليكم

باشمهندسه ميسم انا بخت الملف وبعديها بضغط upload وبتجينى الرساله اياها

باشمهندس مصطفى الخاصيهuser uploadلقيتها true هل مفروض اعملها falseاو اخليها true

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.