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

لماذا لايعمل هذا الكود عند جهاز العميل ويعمل على نفس السيرفر

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

السلام عليكم

لدي كود رفع صورة يقوم اولا بتغيير ابعاد الصورة ثم يرفعها على المجلد المحدد

هذا الكود يعمل بشكل سليم ولكن قمت بنشر الموقع على السيرفر وتصفحت الموقع من نفس السيرفر وكان الكود يعمل ولكن

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

وحتى قمت بمشاركة المجلد على السيرفر الذي يقوم العميل برفع الصور فيه ولكن دون جدى

فقط يعمل على نفس جهاز السيرفر ولكن لايعمل على الكلاينت

وهذا هو الكود

اتمنى مساعدتي جزاكم الله خير

Dim ext As String = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName)
Dim UploadFilePath As String
UploadFilePath = Server.MapPath("~/img/")
Dim rnd As New Random()
Dim newNumber As Integer = rnd.[Next](234234).ToString()
Dim newSize As Size = New Size(560, 420)
Dim originalBM As Bitmap = New Bitmap(FileUpload1.PostedFile.FileName)
Dim ResizedBM As Bitmap = New Bitmap(originalBM, newSize)
ResizedBM.Save(((UploadFilePath & newNumber) + ext), ImageFormat.Jpeg)

اسف لايعمل زر الكود في اضافة الموضوع لا اعلم لماذا

تم تعديل هذه المشاركة بواسطة طارق إبراهيم في 1 مارس 2010 في 12:54 — السبب: إضافة وسم الكود

−1
#2

أولاً هل تأكدت بعد رفع الموقع أن المجلد الذي ترفع عليه موجود ؟؟؟ قد تكون نسيت إنشاءه على السيرفر؟؟

وهل ممكن تزودنا بنص الخطأ الذي يظهر ؟؟؟ لو لم يكن هناك خطأ يظهر إذن فالرفع يتم ولكن في مكان غير المستهدف ...

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

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

#3

هذا هو الكود بالضبط

Dim ext As String = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName)
Dim UploadFilePath As String
UploadFilePath = Server.MapPath("~/img/")
Dim rnd As New Random()
Dim newNumber As Integer = rnd.[Next](234234).ToString()
Dim newSize As Size = New Size(560, 420)
Dim originalBM As Bitmap = New Bitmap(FileUpload1.PostedFile.FileName)
Dim ResizedBM As Bitmap = New Bitmap(originalBM, newSize)
ResizedBM.Save(((UploadFilePath & newNumber) + ext), ImageFormat.Jpeg)

المجلد موجود ومتاكد منه

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

ولكن على جهاز العميل لايعمل الكود ولا الرفع

#4

ممكن اخي الفاضل تضع نص رسالة الخطاء

والكود اذا امكن

#5

الكود كما هو بالضبط بالرد الثاني

وصورة الخطأ بالمرفقات

post-85073-1267043655977_thumb.jpg

#6

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

if(FileUpload1.PostedFile.ContentLength > 0)

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

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

#7

اشكرك اخي moh على الرد جزاك الله خير

ولكن ماذا تقصد بالتأكد بأن الملف يتم ارسالة ؟

انا ذكرت ان الملف يتم رفعه في حال فتح التطبيق او الموقع على المتصفح في السيرفر

ولكن لايعمل في جهاز العميل ويظهر الخطأ المذكور

ارجو التوضيح

#8

كنت أقصد من التأكد من إرسال الملف أنه قد يكون هناك Firewall في السيرفر أو على جهاز العميل لا يرسل الملف مع Submit الصفحة ...

وهل يمكنك أن تجعل الخطأ يظهر بالإنجليزية ؟؟؟ اجعل اللغة الافتراضية مؤقتا الإنجليزية لنرى رسال الخطأ الإنجليزية

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

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

#9

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

يظهر لي ان المشكله قد تكون في نسخة المتصفح المستخدمه

هناك نوعين من المتصفحات ( حسب المشكله ) :

1 انترنت اكسبلورر 7 و ما فبل

2 انترنت اكسبلورر 8 , فايرفوكس ...

المشكله ( المتصفحات من النوع 2 عند استخدام كائن رفع الملفات لا يظهر للسيرفر الا اسم الملف فقط بدون الباث " لان ظهور الباث يعتبر من انتهاك الخصوصية للكلاينت " )

و الله اعلم

#10

جدار الحماية معطل نهائياً

والمشكلة ليست بالمتصفح

والدليل انه اذا استبدلت الكود هذا

ResizedBM.Save(((UploadFilePath & newNumber) + ext), ImageFormat.Jpeg)

بالكود التالي:

  FileUpload1.SaveAs((UploadFilePath + ext & newNumber) + ext)

فان الرفع يتم بنجاح على جهاز السيرفر وايضاً على جهاز العميل ولا يوجد مشاكل

لكن مع الكود السابق يعمل على متصفح السيرفر ولايعمل على متصفح العميل

لمذا ؟

تم تعديل هذه المشاركة بواسطة ضاري في 1 مارس 2010 في 22:48

#11

شيء محير حقاً !!! للأسف نفذت لدي الأفكار ....

إن شاء الله تجد الحل ... ورجاءاً حينها أشركنا هنا بما توصلت له ...

أمنياتي بالتوفيق

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

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

#12

اشكرك اخي وانتظر الاخوان يساعدونا

وساحاول

#13

hello....

your problem is so easy.....

the function "server.mapPath" is to seek about your folder in the server ....but

your have to tell the server what is your "domain"...such as :

server.mappath("www.myweb.com/img") and you can do that olso

server.pampath(mydomain & " /img" )

and mydomain will be a value filled in "webconfig"

bye

#14

اشكرك اخي على الرد

ويعطيك العافيه

ياليت شرح اكثر وبالعربي الله يعافيك

تم تعديل هذه المشاركة بواسطة ضاري في 5 مارس 2010 في 23:36

#15

بعد المحاولات والتجارب

وصلت ولله الحمد للحل وهو

استبدال الكود التالي :

UploadFilePath = Server.MapPath("~/img/")

بالكود التالي :

UploadFilePath = "~/img/"
#16

غريبة هذا الحل !!!

ولكن هل نفترض أن شركة الاستضافة تمنعك من الوصول للمسار الكامل للملف ؟؟؟

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

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

#17

مادري ولكن انا شعال على سيرفر 2003 وعامل طريقة لعرضه على الانترنت

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

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

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

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

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