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

كنترول Asp.net لرفع الملفات

بدأه haosman في 25 فبراير 2009 · 2 رد · 729 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الأخوة الأعزاء

مرفق كنترول قمت بتصميمه من فترة وهو يعالج مشكلة رفع مجموعة من الملفات على مراحل، بمعنى أنه بدل من استخدام الأداة التقليدية لرفع الملفات ومن ثم رفع مجموعة من الملفات كل على حدة، هذا الكنترول يساعدك في حفظ المسار الخاص بالملفات المراد رفعها ثم رفعها مرة واحدة عند الإنتهاء كما هو موضح في الصورة المرفقة.

upload.jpg

تستطيع تحديد عدد الملفات في الكتابة في خانة FileNumber

وهناك رسالة خطأ تستطيع تحديدها في حالة ما تم اختيار ملف واحد مرتين عن طريق الخانة DuplicateErrorMsg

أتمنى أن ينال إعجابكم ويفيدكم في عملكم إن شاء الله.

وبالطبع الباب مفتوح لأي مقترحات أو شكاوي

الكود التالي يعطيك مثال عن كيفية استعمال الكنترول

حظ سعيد

protected void FilesUploader1_UploadClick(object sender, EventArgs e)
	{
		if (Request.Files.Count > 0)
		{
			for (int i = 0; i < Request.Files.Count; i++)
			{
				if (Request.Files.FileName != "")
				{
					if (Request.Files.ContentLength < 1000000)
					{
						int fileNamePos = Request.Files.FileName.LastIndexOf("\\") + 1;
						string fileName = Request.Files.FileName.Substring(fileNamePos);
						Request.Files.SaveAs("D:\\temp\\" + fileName);
					}
					else
					{
						Response.Write("the " + Request.Files.FileName + " size is too big");
					}
				}
			}
		}
	}

ControlsBuilder.Files.zip

#2

يسلموا ايديك بس ممكن تشرح الكود

#3

الكود ببساطة بيفصل الملفات المرسلة، وذلك بعد أن يتأكد من أنها أقل من السعة المحددة ثم تحميل الملفات على المسار المحدد كل على حدة، الكود التالي به بعض التعليقات التى توضح الكود المكتوب

protected void FilesUploader1_UploadClick(object sender, EventArgs e)
	{
		// التأكد من أن الكنترول يحمل ملفات
		if (Request.Files.Count > 0)
		{
			for (int i = 0; i < Request.Files.Count; i++)
			{				
				if (Request.Files.FileName != "")
				{
					// يمكن تحديد حجم كل ملف قبل تحميله على السيرفر، وهنا سعة الملف محددة بـ 1 ميجا
					if (Request.Files.ContentLength < 1000000)
					{
						// فصل كل ملف على حدة وتحميله على المسار المطلوب
						int fileNamePos = Request.Files.FileName.LastIndexOf("\\") + 1;
						string fileName = Request.Files.FileName.Substring(fileNamePos);
						Request.Files.SaveAs("D:\\temp\\" + fileName);
					}
					else
					{
						// رسالة خطأ في حالة وجود ملف أكبر من السعة المحددة
						Response.Write("the " + Request.Files.FileName + " size is too big");
					}
				}
			}
		}

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