بتاريخ: 22 أبريل 201214 سنة comment_223568 السلام عليكمأنا أتعامل مع الصور بشكل طبيعي ضمن النظام من حيث التحميل والعرض ولكن واجهتني المتطلبات التالية:1- كيف يمكن عرض الصورة المنتقاة مباشرة ضمن عنصر image ليشاهدها المستخدم فور انتقائها، و لا يضطر لحفظها ومن ثم الاستعلام عنها حتى يتم جلبها من قاعدة البيانات من خلال servlet وعرضها.2- في حال كانت الصورة معروفة الاسم والامتداد والمسار هل يمكن من خلال الضغط على مفتاح محدد تحميل الصورة مباشرة دون فتح صندوق الحوار الخاص بالويندوز للاختيار صورة محددة3- كيف يمكن حذف الصورة التي تم تحميلها بعد التأكد من اتمام عملية الحفظ.الرجاء النصيحة من الخبراءمع الشكر سلفا تقديم بلاغ
بتاريخ: 27 أبريل 201213 سنة comment_223761 بالنسبة للاسئلة بتاعتك فالاجابة كالتالى1- لازم ترفع الصورة وبعدين المستخدم يشوفها حتى فى اى موقع لرفع الصور بيحصل كده لان دى بيئة الويب2 فى بيئة الويب لا يمكن التعامل مباشرة مع جهاز العميل الا من خلال الجافا سكريبت ولا يمكن من خلال الجافا سكريبت انك تتصل بال File system الخاص بالعميل3 احصل على ال ID الخاص بالصورة وقم بحذفه تقديم بلاغ
بتاريخ: 28 أبريل 201213 سنة كاتب الموضوع comment_223812 بالنسبة للاسئلة بتاعتك فالاجابة كالتالى1- لازم ترفع الصورة وبعدين المستخدم يشوفها حتى فى اى موقع لرفع الصور بيحصل كده لان دى بيئة الويب2 فى بيئة الويب لا يمكن التعامل مباشرة مع جهاز العميل الا من خلال الجافا سكريبت ولا يمكن من خلال الجافا سكريبت انك تتصل بال File system الخاص بالعميل3 احصل على ال ID الخاص بالصورة وقم بحذفه بالنسبة للإجابة الأولى:يبدو أنه لا يزال هناك شيء غامض بالنسبة لي (ربما لأنني لم أقم بعمل deploy للبرنامج على مخدم ويب لوجيك مستقل وإنما لا زلت أجربه من خلال jdeveloper) والذي أنا مستوعبه هو أنه عندما أقوم بعمل رن للبرنامج أصبح أنا المستخدم وبالتالي عندما أقوم برفع صورة معينة فأنا أقوم برفعها من محطتي (جهاز العميل) إلى مخدم الويب لوجيك ليتم حفظها ضمن قاعدة البيانات، وفي حال كان هذا الكلام صحيح فهل تقصدين أنه لا يمكن عرض الصور للمستخدم (وهو الذي قام برفعها) حتي يقوم بعملية commit ومن ثم execute ، ألا يوجد أي طريقة لعرضها ليتأكد المستخدم أنه اختار الصورة الصحيحة قبل قيامه بعملية commit.بالنسبة للإجابة الثانية:مشكورة أخت هالة بس كأني أشعر أن هناك ضعف في الإمكانيات فمثلا لو أردت أن أقوم برفع 100 صورة معروفة الاسم والمسار وحفظها مباشرة ضمن قاعدة البيانات فهذا يتطلب عملا روتينيا وشاقا بالنسبة للمستخدم، هل هذا صحيح؟بالنسبة للإجابة الثالثة:أنا لم أقصد حذف السجل الذي يحتوي الصورة وإنما قصدت حذف ملف الصورة من محطة العميل بعد القيام برفعها وحفظها ضمن قاعدة البيانات.مع الشكر تقديم بلاغ
بتاريخ: 28 أبريل 201213 سنة comment_223821 ردي بالأزرق تحت كل نقطةبالنسبة للإجابة الأولى:يبدو أنه لا يزال هناك شيء غامض بالنسبة لي (ربما لأنني لم أقم بعمل deploy للبرنامج على مخدم ويب لوجيك مستقل وإنما لا زلت أجربه من خلال jdeveloper) والذي أنا مستوعبه هو أنه عندما أقوم بعمل رن للبرنامج أصبح أنا المستخدم وبالتالي عندما أقوم برفع صورة معينة فأنا أقوم برفعها من محطتي (جهاز العميل) إلى مخدم الويب لوجيك ليتم حفظها ضمن قاعدة البيانات، وفي حال كان هذا الكلام صحيح فهل تقصدين أنه لا يمكن عرض الصور للمستخدم (وهو الذي قام برفعها) حتي يقوم بعملية commit ومن ثم execute ، ألا يوجد أي طريقة لعرضها ليتأكد المستخدم أنه اختار الصورة الصحيحة قبل قيامه بعملية commit.ليس ضرورياً أن يتم الحفظ بل يجب أن يتم عمل upload للصورة فقط لكي يتم العرضبالنسبة للإجابة الثانية:مشكورة أخت هالة بس كأني أشعر أن هناك ضعف في الإمكانيات فمثلا لو أردت أن أقوم برفع 100 صورة معروفة الاسم والمسار وحفظها مباشرة ضمن قاعدة البيانات فهذا يتطلب عملا روتينيا وشاقا بالنسبة للمستخدم، هل هذا صحيح؟هذه الـ 100 صورة هل مربوطة ببيانات أم الـ 100 صورة مربوطة بسجل واحد؟ عموماً في الوب لا نستطيع رفع أكثر من ملف في المرة الواحدة إلا إذا تم استخدام JavaScript ولكن الشئ الغير منطقي هنا هو أنه لن يتم ربط الـ 100 صورة ببيانات واحدة لأنه لو مطلوب نقل هذه الملفات مرة واحدة فالأفضل استخدام FTP أو UCMبالنسبة للإجابة الثالثة:أنا لم أقصد حذف السجل الذي يحتوي الصورة وإنما قصدت حذف ملف الصورة من محطة العميل بعد القيام برفعها وحفظها ضمن قاعدة البيانات.لا يمكن ذلك إلا من خلال JavaScript ولكن يمكن منعها ولذلك تعتبر شبه مستحيلة تقديم بلاغ
بتاريخ: 28 أبريل 201213 سنة كاتب الموضوع comment_223824 مشكور أخ مصطفىبس في الحقيقية أحتاج لبعض التوضيح وهو كما يلي: ليس ضرورياً أن يتم الحفظ بل يجب أن يتم عمل upload للصورة فقط لكي يتم العرض حسب ما أعلم (وما هو شغال عندي) أنه لكي يتم عرض صورة معينة موجودة ضمن قاعدة البيانات يتم ربط مصدر الصورة بـ servlet لها شكل قياسي ومكتوب فيها تعليمة sql تقوم بعمل select من الجدول الذي يحتوي الصورة بحسب where معينة، وبالتالي كيف يتم عرض صورة موجودة في جدول معين في قاعدة البيانات دون أن تكون هذه الصورة محفوظة فيه بشكل كامل. هذه الـ 100 صورة هل مربوطة ببيانات أم الـ 100 صورة مربوطة بسجل واحد؟ عموماً في الوب لا نستطيع رفع أكثر من ملف في المرة الواحدة إلا إذا تم استخدام JavaScript ولكن الشئ الغير منطقي هنا هو أنه لن يتم ربط الـ 100 صورة ببيانات واحدة لأنه لو مطلوب نقل هذه الملفات مرة واحدة فالأفضل استخدام FTP أو UCM في الحقيقة أنا لدي جدول رئيسي يتضمن بيانات نصية محددة متعلقة بوثائق خاصة، ويرتبط مع هذا الجدول الرئيسي جدول فرعي يتضمن صور هذه الوثائق، وهذه الصور يتم إجراء عملية scan لها من قبل الموظف بشكل آلي (حسب إعدادات scaner بحيث تم إفتراض أسماء محددة ومتسلسلة لهذه الصور وحفظها ضمن محطة العميل ضمن مسار محدد)، وبما أنني أعتقد أن هذا الإجراء منطقي وروتيني فهل يوجد طريقة سريعة لتحميل جميع هذه الصور مباشرة وحفظها ضمن هذا الجدول الفرعي.فيما يتعلق باستخدام ftp فهل يمكن أن تشرح لي (إذا سمحت) كيف يتم ذلك ضمن adf. لا يمكن ذلك إلا من خلال JavaScript ولكن يمكن منعها ولذلك تعتبر شبه مستحيلة في حال لم تكن ممنوعة فما هو الكود الذي يقوم بذلك رجاءً.يوجد استفسار فقط للتوضيح رجاء وهو عندما يفتح صندوق الحوار الخاص بالويندوز من خلال العنصر input file لانتقاء الملف المحدد المراد تحميله فهل يعرض ملفات النظام الخاصة بمحطة العميل أم بمحطة مخدم الويب لوجيك (لأني بدأت أدوخ). تقديم بلاغ
بتاريخ: 28 أبريل 201213 سنة comment_223829 أنت الآن تريد عرض الصورة فقط قبل الحفظ وبالتالي لا يجب عليك حفظ الصورة بل يكفي أن تقوم بعمل upload لهابالنسبة لعملية المسح الضوئي فتوجد أدوات لأخذ الصور من العميل مباشرة إلى السيرفر ولكن هذه الطريقة متقدمة جداً وتحتاج إلى كتابة كود كبير وبالتالي أقترح عليك أن يتم الحفظ في مسار على السيرفر بحيث يكون shared folder وبالتالي يمكنك قراءة محتوياته مباشرة ، أما لو كان الأمر على جهاز العميل فهذا يتطلب أدوات خارجية متقدمة جداً ولن يكون من السهل عليك وضعها في ADFاستخدام ftp لا يتم من خلال ADF بل يتم من خارجهعندما تفتح الملف من input file فهو يعرض الملفات على جهاز العميل تقديم بلاغ
بتاريخ: 30 أبريل 201213 سنة كاتب الموضوع comment_223901 أقترح عليك أن يتم الحفظ في مسار على السيرفر بحيث يكون shared folder وبالتالي يمكنك قراءة محتوياته مباشرة ، أما لو كان الأمر على جهاز العميل فهذا يتطلب أدوات خارجية متقدمة جداً ولن يكون من السهل عليك وضعها في ADF في الحقيقة لم أفهم ماذا سوف أستفيد في حال جعلت الصور محفوظة ضمن shared folder على المخدم، أي لنفرض أن قمت بهذه العملية كيف سأقوم بتحميل هذه الصور إلى قاعدة البيانات حتى أقوم بعرضها لاحقا. تقديم بلاغ
بتاريخ: 1 مايو 201213 سنة comment_223933 يمكن الوصول إلى موقع الملفات على السيرفر في هذه الحالة لأن الملفات لم تعد على جهاز العميل وبالتالي يمكن استخدام كافة الوظائف المتاحة في java.io للتعامل مع streams ومن ثم يمكن التعامل مع الملفات تقديم بلاغ
بتاريخ: 3 مايو 201213 سنة كاتب الموضوع comment_224049 شكرا لك أستاذ مصطفى الآن وضحت الفكرة،لكن مع الأسف لا زالت المشكلة الخاصة بالسؤال الأول غير محلولة رغم انك قلت أنه "ليس ضرورياً أن يتم الحفظ بل يجب أن يتم عمل upload للصورة فقط لكي يتم العرض"وأنا ببساطة قمت بما يلي:1- set autosubmit = true to inputfile component2- set partial trigger = if1 to image componentحيث (inputfile id = if1)وعندما أختار الصورة وأضغط على مفتاح upload يتم رفع الصورة بنجاح ولكن أعود وأقول هي لا تظهر ضمن عنصر الصورة مباشرة وأحتاج إلى أن أعمل commit ومن ثم execute.هل هذا هو السلوك الصحيح أم أنه يوجد شيء ما ناقص في المعالجة.مع الشكر تقديم بلاغ
بتاريخ: 3 مايو 201213 سنة comment_224068 هذا يتم غالباً لأنك تقوم بكتابة كود يقوم بتحميل الصورة من قاعدة البيانات وبالتالي لن يعمل إلا مع الحفظ والحل أن يكون لديك كود يقوم بالقراءة من ملف موجود في مسار معين حتى يمكن عرض الصورة تقديم بلاغ
بتاريخ: 5 مايو 201213 سنة كاتب الموضوع comment_224118 أعتقد أن الإمكانيات أصبحت واضحةمع الشكر لكل من ساهم في المشاركة تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.