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

مشكله في ال FileUpload1.PostedFile.ContentType

مغلق
بدأه Shehab85 في 5 أغسطس 2007 · 8 رد · 1,039 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي مشكله في رفع الصور ارهقتني كثيرا ..بحثت عن الحل كثيرا ولم اجده

استخدمت هذا الكود

 

Function Upload_Image()

If Not (FileUpload1.PostedFile Is Nothing) Then 



Dim LongFilePath As String 



Dim FileNameLength As Integer 



Dim FileName As String





LongFilePath = FileUpload1.PostedFile.FileName 



FileNameLength = InStr(1, StrReverse(LongFilePath), "\") name



FileName = Mid(LongFilePath, (Len(LongFilePath) - FileNameLength) + 2)



Select Case FileUpload1.PostedFile.ContentType

Case "image/pjpeg", "image/jpeg"



FileUpload1.PostedFile.SaveAs(Server.MapPath("Pic\Images\" & FileName))

lblLink.Text = "~/Admin/Pic/Images/" & FileName

lblState.Text = "تمت العملية بنجاج"



Return 1

Case Else



lblState.Text = "انواع الملفات المدعومه <br>image/jpeg و image/pjpeg "



Return 0

End Select



End If



Return -1

End Function

المشكله موجود في ال FileUpload1.PostedFile.ContentType ..فهي لا تقوم بإرجاع نوع الملف المرفوع و كذلك كود ال select case لا يتم تنفيذه و يتم تنفيذ Return -1 ؟؟؟؟؟؟؟؟؟

#3

انسخ الكود من Visual Studio إلى Notepad ومن ثم انسخه من Notepad إلى مكان كتابه موضوع جديد

فنسخ الكود من الفيجوال مباشرة يسبب نسخ تنسيقه أيضا

وبسبب وضعه داخل وسام منتدى code لم يظهر بالشكل المنسق

أعتقد ان الكود هو التالي:

Function Upload_Image()

If Not (FileUpload1.PostedFile Is Nothing) Then 



Dim LongFilePath As String 



Dim FileNameLength As Integer 



Dim FileName As String





LongFilePath = FileUpload1.PostedFile.FileName 



FileNameLength = InStr(1, StrReverse(LongFilePath), "\") name



FileName = Mid(LongFilePath, (Len(LongFilePath) - FileNameLength) + 2)



Select Case FileUpload1.PostedFile.ContentType

Case "image/pjpeg", "image/jpeg"



FileUpload1.PostedFile.SaveAs(Server.MapPath("Pic\Images\" & FileName))

lblLink.Text = "~/Admin/Pic/Images/" & FileName

lblState.Text = "تمت العملية بنجاج"



Return 1

Case Else



lblState.Text = "انواع الملفات المدعومه <br>image/jpeg و image/pjpeg "



Return 0

End Select



End If



Return -1

End Function

تم تعديل هذه المشاركة بواسطة Arwany في 5 أغسطس 2007 في 07:38

#4

جرب اكتب اسم نوعية الملف

response.write(FileUpload1.PostedFile.ContentType)

قبل جملة select ثم انسخ النتيجة الى الكود لان كود حساس لحالة الاحرف case sensitive

#5

جرب ما يلي:

مثلا لتفحص أن الملف من نوع jpg أو ... الخ

if(FileUpload1_Image.PostedFile.FileName.ToLower().EndsWith(".jpg"))
{
//This is jpg file
}
else
{
//Please select image (jpg) file
}

تم تعديل هذه المشاركة بواسطة Arwany في 5 أغسطس 2007 في 09:57

#6

TareqVB

Arwany

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

الكود فعلا مثل ما وضحه Arwany .

عملت باقتراحاتكم ولا زالت المشكله موجوده.

قمت بكتابة الكود بدون ال select case و بدون if statement لأتأكد من عمله ...كتبته كالتالي

 

  Dim LongFilePath As String 
		Dim FileNameLength As Integer 
		Dim FileName As String


		LongFilePath = FileUpload1.PostedFile.FileName 
		FileNameLength = InStr(1, StrReverse(LongFilePath), "\") 
		FileName = Mid(LongFilePath, (Len(LongFilePath) - FileNameLength) + 2)



		FileUpload1.PostedFile.SaveAs(Server.MapPath("Pic\Images\" & FileName))
		lblLink.Text = "~/Admin/Pic/Images/" & FileName
		lblState.Text = "تمت العملية بنجاج"

		Return 1

المفاجأة أن الدود لم يعمل رغم أنه كان يعمل بشكل صحيح قبل إضافة ال select case

و الخطء يظهر في

LongFilePath = FileUpload1.PostedFile.FileName

الخطء هو"Object reference not set to an instance of an object"

Arwany..عملت بنصيحتك في الكوبي بيست :lol:

شكرا عزيزي

#8

أو تأكد أن ASPNET له الصلاحيات الكاملة على المجلد الذي تقوم بالتحميل عليه

أي تأكد من الصلاحيات المعطاه على ذلك المجلد الذي تقو م بالتحميل عليه فهي خطأ وارد أيضا...

#9

Arwany

اشتغل على ال VWD2005 و الخطء يظهر قبل الوصول للفولدر

TareqVB

فعلا...لا يوجد ملف في ال uploadfile

و تأكدت عن طريق هذا الكود

 

If Not (FileUpload1.PostedFile Is Nothing) Then
	  MsgBox("ok")
	  Return 1
Else
	  MsgBox("no")

	  Return 0
End If

من المفترض إذا اخترت ملف يظهر لي ال msgbox Ok

و لكن دائما يظهر لي No سواء اخترت ملف أو لا؟؟؟

هذا الموضوع مغلق.

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