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

مشكل في fileupload او تفضلتم بالدخول

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

لمنع تحديت الصفحة قمت بعمل updatepanel

داخلها وضعت fileupload من اجل رفع الملفات

كود رفع الملفات :

'[b]

code upload
        If FileUpload1.HasFile = True Then
            Dim nom As String = FileUpload1.PostedFile.FileName
            Dim mem As IO.Stream = FileUpload1.PostedFile.InputStream

            '  retourner l'extention du fichier
            Dim Extention As String = IO.Path.GetExtension(FileUpload1.FileName)
            '  retourner la du fichier  
            Dim taille As Integer = FileUpload1.PostedFile.ContentLength


            If taille <= 900000 Then
                If Extention = ".rar" Or Extention = ".txt" Or Extention _
                      = ".pdf" Or Extention = ".PDF" Or Extention = ".JPG" Or Extention = ".jpg" Or _
                      Extention = ".png" Or Extention = ".PNG" Or Extention = ".jpeg" Or _
                      Extention = ".JPEG" Or Extention = ".gif" Or Extention = ".GIF" Or _
                      Extention = ".doc" Or Extention = ".DOC" Or Extention = ".zip" Or _
                      Extention = ".ZIP" Then

                    Dim arraybyte As Byte() = New Byte(mem.Length) {}
                    mem.Read(arraybyte, 0, arraybyte.Length)

                    ' identity is a function witch let  to increase the id_sujet(id_thread) automaticly

                    Dim param As Integer = identity("id_Accessoire", "Accessoires")
                    cmd.CommandText = "insert into Accessoires(id_Accessoire,nom,myfile,id_sujet) values(@id_Accessoire,@nom,@myfile,@id_sujet)"
                    cmd.Parameters.AddWithValue("@id_Accessoire", param)
                    cmd.Parameters.AddWithValue("@nom", nom)
                    cmd.Parameters.AddWithValue("@myfile", arraybyte)
                    cmd.Parameters.AddWithValue("@id_sujet", 22)

                    If cnx.State = ConnectionState.Open Then cnx.Close()
                    cnx.Open()
                    cmd.ExecuteNonQuery()
                    cnx.Close()
                    lbmsg0.Text = "    الملف رفع بنجاح"
                    lbmsg0.ForeColor = Color.Green
                    Image1.ImageUrl = "~/images/ok.png"

                    FileUpload1.Visible = False
                    Button8.Visible = False


                Else

                    lbmsg0.Text = "(.doc) او (.ZIP) او(.rar) او (.pdf) او (.txt) او (.jpg) او (.png) او (.Gif) يسمح فقط بالامتدادات التالية   "
                    lbmsg0.ForeColor = Color.Red
                    Image1.ImageUrl = "~/images/fff.gif"
                End If

            Else
                lbmsg0.Text = " حجم الملف لايجب ان يتعدى  800 كيلو   "
                lbmsg0.ForeColor = Color.Red
                Image1.ImageUrl = "~/images/fff.gif"
            End If


        Else
            lbmsg0.Text = "لم تقم بتحديد الملف"
            lbmsg0.ForeColor = Color.Red
            Image1.ImageUrl = "~/images/fff.gif"
        End If

كما ترون قمت بعمل شرط:

If FileUpload1.HasFile = True Then

هنا كود الرفع 

else

 lbmsg0.Text = "لم تقم بتحديد الملف"
end if

عند الضغط على الزر الدي يحتوي على الكود اعلاه

تضهر لي الرسالة:"لم تقم بتحديد الملف"

عرفت المشكلة وهي عند الضغط على الزر تقوم updatepanel بتحديت محتوياتها بما فيها fileupload هدا ما يفسر تلك الرسالة عند الضغط على الزر

ارجو من السادة الافاضل حل للمشكلة العويصة

و شكرا

:wacko:

#2

السلام عليكم

يوجد عدم توافق بين updatepanel و fileupload والسبب ان fileupload تحتاج الى Full Postback .

الحل :

  • جعل زر التحميل يعمل Full Postback عن طريق استخدام Triggers ل updaepanel اي لن تستفيد من وجود updaepanel .
  • استخد

ام اداة التحميل الموجودة مع ادوات الاجاكس AsyncFileUpload

1
#3

او تفضلت مثال

#4

السلام عليكم

من وجهة نظر برمجية بالوب انت تحدث الكنترول وبذلك يتم تحديث الكنترول ويذهب المسار هذه اولا

ثانيا باستخدام تابع الاي جاكس لا يمكن ارسال ملفات الى السيرفر والحل هو باستخدام IFRAME

اي لا يمكنك بشكل مباشر وضع updatepanel ويعمل رفع حتى لو اخذت مسار الملف بالجافا سكريبت ووضعته ب lable مخفي ومن ثم قمت بتحميله لا يقبل كما ذكرت كون تابع الاي جاكس لا يدعم رفع الملفات

الحل هو وضع ifram

ارفق لك مثالا على ذلك

بالتوفيق

fileupload.zip

تم تعديل هذه المشاركة بواسطة X-File في 14 يوليو 2010 في 21:34

1

In bad state

#5

:)

l

ممتاز وجيد جدا

:lol:

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

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

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

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

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