| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| طريقة رفع الملفات في ال asp.net طريقة رفع الملفات في ال asp.net والتحقق من الانواع والحجم واي تفاصيل اخرى الادوات المستخدمه في المقال هي اداة FileUpload1 وادارة زر Button نقوم بوضع الاداتين في الصفحة وبعد هذا داخل حدث النقر على الزر button نقوم بكتابة الكود الخاص بعملية رفع الملف الذي تم اختيار من الاداة FileUpload1 في داخل مجلد فرعي في مجلد المشروع الرئيسي لنفرض ان الاسم البرمجي للادة FileUpload1 هو UpImg في البداية نتحقق من ان المستخدم قد قام بختيار ملف لرفعه كود: If UpImg.PostedFile.FileName = Nothing Then
ErrorLabel.Text = "لم يتم اختيار ملف لرفعه"
Exit Sub
End If اذا قام المستخدم باختيار ملف لتحميله في داخل اداة اختيار الملفات فان الجملة الشرطيه اعلاه لن تتحقق وبالتالي فانه لن يدخل لكود الجملة الشرطيه ولن يقوم بطباعة رسالة الخطأ ولن يقوم باخراجه من تنفيذ بقية الكود ,,, يعني سوف يستمر في تنفيذ الكود الان نقوم بتعريف متغير نسند له المسار الذي سوف يتم تخزين الملف المختار لرفعه فيه مثلا هكذا كود: Dim FPath As String ="C:\Inetpub\wwwroot\ElectronicMall1.0\uploaded\" & IO.Path.GetFileName(UpImg.PostedFile.FileName) C:\Inetpub\wwwroot\ElectronicMall1.0\uploaded\ حيث ان ElectronicMall1.0 هذا هو مجلد المشروع الرئيسي و uploaded هذا هو اسم المجلد الفرعي الذي سوف نضع فيه الملف بعد ذلك اسندنا للمتغير اسم الملف الذي يتم اختياره من اداة رفع الملفات UpImg بالكامل يعني الاسم مع الامتداد فلو قمت باختيار صورة اسمها pic1.gif فان النص الكامل الذي سيتم اسناده للمتغير FPath سيكون بالشكل التالي C:\Inetpub\wwwroot\ElectronicMall1.0\uploaded\pic1.gif وهذا يعبر عن مسار الملف الذي سوف نقوم برفعه بعد انتهاء عملية الرفع ووضع الملف في داخل المجلد نتوقف قليل عند المكتبة IO وتلاحظ اننا في الكود السابق استخدمناها في جلب اسم وامتداد الملف الذي تم اختيارة في اداة رفع الملفات وهذه مكتبة كامله تتيح لك التحكم بالملفات والمجلدات في كودنا السابق نلاحظ اننا طلبنا اسم الملف الكامل مع الامتداد للملف الموجود بهذا المسار UpImg.PostedFile.FileName وهذه تعيد لنا المسار الكامل للملف الذي تم اختياره من جهازك فمثلا لو اخترنا من الجهاز ملف pic1.gif موجود في الدرايف E مباشرة فان المسار الذي سوف يعود في داخل UpImg.PostedFile.FileName هو E:\pic1.gif وباستخدام مكتبة ال IO سوف نقوم بجلب اسم الملف الكامل مع الامتداد للمسار E:\pic1.gif وبالتالي سوف يعود لنا ب pic1.gif وهذا مافعلناه بالكود كود: Dim FPath As String ="C:\Inetpub\wwwroot\ElectronicMall1.0\uploaded\" & IO.Path.GetFileName(UpImg.PostedFile.FileName) بعد جلب اسم الملف وامتداده نريد التأكد من امرين 1- ان الملف ضمن الامتدادت المسموح برفعها 2- ان الملف ضمن الحجم المسموح رفعه للتأكد من امتداد الملف نستخدم مكتبة ال IO الكود التالي سوف يعيد لنا امتداد الملف فقط بدون اسمه مثلا لو كان اسم الملف هو pic1.gif فان الكود التالي سوف يعيد لنا الامتداد او نوع الملف فقط هكذا .gif كود: IO.Path.GetExtension(FPath) كود: If FEx <> ".gif" Or FEx <> ".GIF" Then
ErrorLabel.Text = "نوع الملف الذي تم اختياره غير مسموح به"
Exit Sub
End If الان نريد التأكد من حجم الملف ان كان ضمن الحجم المسموح برفعه والكود التالي سوف يعود لنا يحجم الملف المختار بالبايت كود: upimg.PostedFile.InputStream.Length كود: If UpImg.PostedFile.InputStream.Length > 307200 Then
ErrorLabel.Text = "حجم الملف اكبر من الحجم المسموح به"
Exit Sub
End If الان نريد التأكد من ان اسم الملف المرفوع غير موجود من قبل في داخل المجلد الذي سوف نقوم برفع الملف داخله لكي لا يحدث تعارض بالاسماء ففي حالة كان الاسم موجود من قبل نقوم بمنع تحميل الملف ونخرج له رسالة تخبره بان الاسم موجود من قبل الكود التالي سوف يعود لنا بصح او خطأ كود: IO.File.Exists(FPath) وان كان غير موجود فسوف يعود بخطأ False نستخدمه في جملة شرطيه للتحقق من وجود اسم الملف او عدم بالشكل التالي مثلا كود: If IO.File.Exists(FPath) = True Then
ErrorLabel.Text = "اسم الملف موجود من قبل ,قم بتغيير اسم الملف"
Exit Sub
End If الان العملية الاخيره هي عملية رفع الملف وتخزينه في داخل مجلد رفع الملفات وهذا يتم بالكود التالي كود: UpImg.PostedFile.SaveAs(FPath) ملاحظة اخيره :- هذا هو المبدأ العام وانت يمكنك باستخدام مكتبة ال IO التحقق من امور اكثر من اسم الملف او نوعه وحجمه يمكنك اترك لكم اكتشافها بانفسكم على حسب حاجتكم او نشرحها في درس اخر ان شاء الله تعالى الي هنا ننتهي واي سؤال اقدر اجاوب عليه ان شاء الله مابقصر
__________________ احنا بكل فخر واخلاص باغة باروده ورصاص وصقور تحب المقناص بجو الأردن عاليه وفوق الأردن عاليه ........ | |||||
|
| |||||
|
ماشاء الله تبارك الله .. درس (كامل الدسم) ونحن بالكاد نستوعب (قليل الدسم) ![]() إن شاء الله حينما أتفرغ أعود لتنفيذ هذا الدرس الرائع.. ألف شكر أخي أحمد ..
__________________ بداية للمشاريع التجارية ASP.NET,ASP 3.0 المدونة الشخصية : asp2asp.com عدنا والعود أحمد... | |||||
|
| |||||
| اقتباس:
__________________ احنا بكل فخر واخلاص باغة باروده ورصاص وصقور تحب المقناص بجو الأردن عاليه وفوق الأردن عاليه ........ | |||||
|
| |||||
|
اولاً وعليكم السلام ورحمة اله وبركاته يعطيك ألف عافية أخوي nothing4u بصراحة درس ولا أروع .. بسيط من ناحية الشرح .. ولكن كما قال الاخ asp2asp من النوع ثقيل الدسم اذا تكرمت هل لي بسؤال ..؟ الدالة كود: IO.Path.GetExtension(FPath) سؤالي هل الدالة هذه تستخرج نوع الملف من محتوياته ام من الامتداد ؟ بمعنى لو كان لدي الملف (something.php) وقمت بتغيره الى something.php.gif وحاولت رفعه باستخدام هذا السكربت هل ستعطيني الدالة ان إمتداد الملف هو gif (المزيف) ام الحقيقي (php) ؟ وماهو الحال لو قمنا بتزييف الملف (something.php) ليصبح (something.gif) كيف ستكون النتيجة وكيف سيتم التعامل معه شاكر لك استاذي ماتقدمه للقسم من مجهود .. أتمنى أن تكون الاسئلة خفيفة .. دمت بود
__________________ مَلفْاتي لتحميل الصور والملفات تحميل بلا حدودْ، بلا قيودْ رفعُ المَلفاتْ مجاناً تصل الى 250 MB | |||||
|
| |||||
| اقتباس:
اهلا اخي بخصوص سؤالك نعم سوف ينجح بالتحايل على عملية الرفع وسوف يقوم برفع الملف الي يكون اسمه مثلا file.php.gif لكن اثناء طلب تصفح الملف لن يتم عرضه في حالة طلبت file.php.gif او طلبت file.php ان شاء الله سوف اقوم بكتابة درس اخر فيه طريقة منع التحايل على عملية الرفع بهذه الطريقة
__________________ احنا بكل فخر واخلاص باغة باروده ورصاص وصقور تحب المقناص بجو الأردن عاليه وفوق الأردن عاليه ........ | |||||
|
| |||||
|
شكرا لك أخي ع تجاوبك بدأت افكر جديا في التحويل من php إلى asp.net بارك الله فيك وكتب لك الاجر
__________________ مَلفْاتي لتحميل الصور والملفات تحميل بلا حدودْ، بلا قيودْ رفعُ المَلفاتْ مجاناً تصل الى 250 MB | |||||
|
| |||||
|
اخي العزيز احمد تواجهني مشكله دائماً عند المحاولة في رفع الملفات لدي مشروع سبق ونفذته في رفع الملفات وهو يعمل بصورة جيده عندما قمت بانشا مشروع جديد لكي انفذ مشروعك اعطاني رسالة access denid فقمت باستيراد مشروعي اللذي يعمل وكانت نفس النتيجة access denid فما الحل برايك دائماً تواجهني واتعذب في حلها
__________________ قمت بإغلاق مواقعي من يريد شراء نسخه من جده طرب مراسلتي r.-f[@]hotmail.com | |||||
|
| |||||
| اقتباس:
هذا لان نفس مجلد الي تريد رفع الملف داخله لا يملك صلاحيات كافيه للقيام بالعملية روح بالزر اليمين على المجلد واختار خضائص Properties بعدين اختار التبويب Security بعدين اضغط على Add اكتب في الصندوق Everyone وبعدين OK بعد هذا ترجع للشاشه تبعت ال Security اختار المستخدم Everyone ومن تحت اعمل صح على ال Allow لكل الخيارات اذا ما ضبط اعمل نفس العملية للمجلد الي مجلد رفع الملفات موجود داخله في حالة ان اخترت Properties وما ظهر عندك التبويب Security روح على Folder Options من القائمة View الي في شريط القوائم اعلى شاشة المجلد ومن ال Folder Option اختار View وانزل الي اخر الشاشة تقريبا وشيل اشارة الصح عن الخيار Use simple file sharing وارجع للخصائص رح تلاقي ان ال Securtiy ظاهره بها ان شاء الله
__________________ احنا بكل فخر واخلاص باغة باروده ورصاص وصقور تحب المقناص بجو الأردن عاليه وفوق الأردن عاليه ........ | |||||
|
| |||||
|
جزاك الله خير وأخيراً أرتحت من هالموضوع نفذت المشروع مع بعض التعديلات اقتباس:
__________________ قمت بإغلاق مواقعي من يريد شراء نسخه من جده طرب مراسلتي r.-f[@]hotmail.com | |||||
|
| |||||
| اقتباس:
بالتوفيق اخي الثلج والكود عليه تعديلات جميله الله يوفقك
__________________ احنا بكل فخر واخلاص باغة باروده ورصاص وصقور تحب المقناص بجو الأردن عاليه وفوق الأردن عاليه ........ | |||||
|
| |||||
|
ماشاء الله عليك أخي الحبيب ... والله استفدت الكثير من هذا الدرس القيم ... جعله الله لك في ميزان حسناتك
__________________ شبكة النبع الصافي = www.annab3.net منتديات النبع الصافي = http://www.annab3.net/forum/ مكتبة الدروس و المواعظ = http://www.annab3.net/doros/ مكتبة البرامج و السكريبتات = http://www.annab3.net/pro/ | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |
المواضيع المتشابهه | ||||
| الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
| مركز رفع الملفات - النسخة 3.4.5 | جريح | الهاكات والإضافات | 93 | 22-03-2008 12:48 AM |
| بدء دورة ASP.NET ( مقدمة عن اللغة ) | برمودا | ASP و ASP.NET | 26 | 12-12-2007 01:41 AM |
| :: Arab Mega Upload v 2.0 اروع مركز رفع ملفات الى الان ::: | MtRp | خدمات البيع والشراء والإعلانات التجارية | 5 | 23-02-2007 09:35 AM |
| Arab Mega Upload v 20 اروع مركز رفع ملفات الى الان :::::::::: | MtRp | خدمات البيع والشراء والإعلانات التجارية | 26 | 20-02-2007 03:37 AM |
| هل يوجد طريقة لرفع الملفات بواسطة الأف تي بي | snake_eyes | PHP | 2 | 28-03-2006 03:06 PM |