الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يتم حذف الملفات التي رفعها المستخدم ثم ألغي العملية

بدأه alattar في 1 مايو 2010 · 3 رد · 936 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أقوم بعمل برنامج للموظفين يستخدم كمراسلات داخلية (ليس إيميل..و انما برنامج قواعد بيانات عادي)

ويمكن للموظف ارفاق ملفات مع الرسالة

و قمت بعمل أداة لرفع الملفات كما في ياهوو إيميل

أي أن المستخدم يقوم برفع الملفات و تظهر عنده في داتا جريد و يمكنه حذف أي منها

لأن في كل صف في الداتاجريد يوجد زر حذف

ثم بعد أن ينهي ارفاق كل ملفاته..يرسل الرسالة.

وأقوم بعد ارفاق أي ملف بحفظ بياناته في قاعدة البيانات و لكن أضع في حقل رقم الرسالة 0

ثم بعد إرسال الرسالة و بعد أن تكون الرسالة حفظت و أخذت رقم حيث أن حقل رقم الرسالة ترقيم تلقائي Identity

آخذ الرقم عن طريق Select @@Identity

و أقوم بالتعديل علي حق رقم الرسالة في الملفات التي تم رفعها

ولكن السؤال هنا..ماذا لو أنه كتب بيانات الرسال كالمرسل اليه و الرسالة و أرفق ملفات..ثم أغلق الصفحة

ولم يرسل الرسالة!!

طبعا ليس هناك أي مشكلة في بيانات الرسالة التي كتبت لأنها لم تحفظ..ولكن المشكلة في الملفات

طبعا يمكنني أن أحذف أي ملف في قاعدة البيانات حقل رقم الرسالة فيه = 0

ولكنني أخشي أن يكون هناك مستخدم في نفس الوقت يرسل رسالة و يرفق ملفات..فأحذف له ملفاته

لذلك أريد حل لهذه المشكلة..ماذا لو أرفق المستخدم عدة ملفات..ثم ألغي الطلب و لم يرسله

أنا لا أريد كود و انما أريد فكره أطبقها..

أرجو أني أكون استطعت أن أوصل لكم ما يدور في ذهني

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

تم تعديل هذه المشاركة بواسطة alattar في 1 مايو 2010 في 15:41

أعتذر لكل من طلب مني اختبار ولم أحضره..ولكن موقع أكتوال تيست تقريبا تم بيعه الي موقع آخر و تم إلغاء الحسابات القديمة

Microsoft Certified Solution Developer

أحب الصالحين و لست منهم

لعلي أن أنال بهم شفاعة

و أكره من تجارتهم معاصي

ولو كنا سواء في البضاعة

#2

معذرة يا اخواني و اكني أحسست أن السؤال يمكن أن يكون غير واضح

منذ قترة كنت أقوم بتخزين الملفات داخل قاعدة البيانات..ولكنني اكتشفت بعد فترة كبر حجم قاعدة البيانات

بشكل كبير..مما جعل البرنامج يقوم ببطء شديد..فقررت أن أخزن المرفقات في مجلد و أخزن فقط في قاعدة البيانات

مسار الملف..أنا أتبع حاليا آلية معينة في تخزين المرفقات و هذه الآلية هي :

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

والسبب في أنني أخزن الملف في قاعدة البيانات مع الرفع هو أنني أخشي تكرار اسم الملف لأنه في هذه الحالة يقوم نظام التشغيل بإستبدال الملف

بالملف القديم تلقائيا..ففكرت أن أضع الرقم المسلسل للملف -الذي أدخلت مساره قاعدة البينات و الذي أتيت به عن طريق Select @@Identity -

قبل اسم الملف ليصبح مثلا اسم الملف new.doc يصبح 1-new.doc

بعد أن يرفق المستخدم عدة ملفات..ويضغط علي زر ارسال الرسالة..أقوم بتعديل بيانات جميع الملفات التي أرفقها مع رسالته

لأجعل حقل رقم الرسالة = الرقم الذي أتيت به بعد ادخال الرسال عن طريق Select @@Identity

هذه هي الآلية التي أتبعها الآن في تخزين المرفقات..وهي تعمل بكفاءة و الحمد لله..ولكن المشكلة..أن المستخدم أحيانا يرفق عدة ملفات

و يتم حفظها بالفعل علي السيرفر..ولكن بعد ذلك يغلق الصفحة أو يضغط علي رابط آخر..ولا يكمل عملية الارسال

فتبقي الملفات مخزنة علي السيرفر.وهذه هي المشكلة التي تواجههني

أنا لا اريد كود مكتوب..أنا أريد منكم آلية لتخزين المرفقات أفضل من هذه لتخزين المرفقات..حتي لا أقع في المشكلة التي واجهتني الآن

أرجو أن أكون وفقت في الشرح..وجزاكم الله خيرا.

تم تعديل هذه المشاركة بواسطة alattar في 1 مايو 2010 في 19:12

أعتذر لكل من طلب مني اختبار ولم أحضره..ولكن موقع أكتوال تيست تقريبا تم بيعه الي موقع آخر و تم إلغاء الحسابات القديمة

Microsoft Certified Solution Developer

أحب الصالحين و لست منهم

لعلي أن أنال بهم شفاعة

و أكره من تجارتهم معاصي

ولو كنا سواء في البضاعة

#3

السلام عليكم

حاول ان تعمل مجلد خاص للرفع وعند الارسال انقل الملفات الى المجلد الاصلي .

بعد ذلك يمكنك حذف الملفات الغير لازمة ووضع الكود في Application_start بحيث تحذف جميع الملفات الموجودة في المجلد الجديد .

2
#4

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

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

وسوف أبدأ بإذن الله في تطبيق الفكرة

أعتذر لكل من طلب مني اختبار ولم أحضره..ولكن موقع أكتوال تيست تقريبا تم بيعه الي موقع آخر و تم إلغاء الحسابات القديمة

Microsoft Certified Solution Developer

أحب الصالحين و لست منهم

لعلي أن أنال بهم شفاعة

و أكره من تجارتهم معاصي

ولو كنا سواء في البضاعة

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…