اذهب إلى المحتوى
  • 0

مشكلة عدم عمل الملفات بعد تنزيلها في مشروع بيئة ASP.NET؟

عبدالله الناصري

السؤال

السلام عليكم 

عملت مشروع رفع وتنزيل ملفات والحمد لله الكود يعمل بشكل سليم بلغة C# , ASP.NET

ولكن فيه مشكلة بسيطة لم استطع حلها رغم عدة محاولات وهي عند الضغط على تحميل الملف يقوم الكود بتنزيل الملف بنجاح ولكن عند فتح الملف ( لا يعمل نهائي) كملفات PDF وملفات DOCX وملفات الصور كـ JPG و JPEG ...الخ علما بأنه عند رفع الملفات تكون في صورة صحيحة 

 

كرماً .. حل وفقكم ربي 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 19 ساعات قال حسام برهان:

أجر اختبارًا بسيطًا.

انظر بدقة إلى حجم الملف قبل رفعه. ثم نزله وانظر إلى حجمه مرة أخرى هل هناك أي فرق؟

عند الرفع 88.7kb

عند التحميل 3.4kb

 

ما السبب ياغالي؟ وكيف حل المشكلة؟ 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

إذا كنت تستطيع استخدام المنقّح Debugging فأضف نقطة توقّف Break Point ضمن الشيفرة المسؤولة عن جلب الملف من قاعدة البيانات عندما يطلب المستخدم تنزيله. انظر إلى حجم الملف الذي تمّ جلبه من قاعدة البيانات هل هو 86.7 كيلو بايت؟

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

انا اقوم بعد جلب البيانات من قاعدة البيانات باستعراضها في datagridvirew ثم اختار الملف المطلوب تحميله واضغط تحميل 

 

والف شكر لمساعدتك

errorasp.jpg

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

1- أنشئ ملف نصي بسيط اسمه simple.txt واكتب فيه الكلمة التالية: Hello ثم احفظه.

2- ارفع الملف ثمّ تأكّد أنّه موجود على السيرفر ضمن المسار:

~//Files//simple.txt

3- نزّل الملف simple.txt وحاول فتحه. إذا نجحت بفتحه فما هي محتوياته؟

 

أرجو تنفيذ الخطوات الثلاث السابقة، وإعطائي وصف دقيق عن ملاحظاتك حول كل خطوة.

 

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

  • 0

هلا بالغالي

 

طبقت ما ذكرته 

عند تنزيل الملف وفتحه ( وجدت كود html ومجموعة اكواد كثيرة ) 

هل تحب أن أطلعك عليها؟ 

Update

 

xxx.jpg

update

لللل.jpg

تم التعديل في بواسطة عبدالله الناصري
خطأ املائي
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

اهلا اخي

احتاج الى وصف دقيق لما طلبته منك في البنود الثلاث السابقة فحسب كي استطيع تشخيص المشكلة بدقة.

على العموم يبدو ان الشيفرة التي تستخدمها غير صحيحة (كنظرة اولية)

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 ساعات قال حسام برهان:

اهلا اخي

احتاج الى وصف دقيق لما طلبته منك في البنود الثلاث السابقة فحسب كي استطيع تشخيص المشكلة بدقة.

على العموم يبدو ان الشيفرة التي تستخدمها غير صحيحة (كنظرة اولية)

1- اعدت تسمية الملف sample.text

2- قمت برفعه 

3- قمت بالتحميل وفي المرفق نتيجة التحميل

---Files--__2017210235342.txt

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أخي الكريم. لقد غيرت امتداد الملف الذي أرفقته إلي وجعلته html. ظهر الملف ضمن المتصفح كما في المرفق والذي يمثل كما أظن صفحة التحميل الرئيسية لتطبيقك.

على ما يبدو أنّك لا تحفظ الملف ضمن قاعدة البيانات. إنما الذي تحفظه هو صفحة التحميل نفسها وهذا خطأ بالطبع.  

 

Capture.PNG

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال حسام برهان:

أخي الكريم. لقد غيرت امتداد الملف الذي أرفقته إلي وجعلته html. ظهر الملف ضمن المتصفح كما في المرفق والذي يمثل كما أظن صفحة التحميل الرئيسية لتطبيقك.

على ما يبدو أنّك لا تحفظ الملف ضمن قاعدة البيانات. إنما الذي تحفظه هو صفحة التحميل نفسها وهذا خطأ بالطبع.  

 

Capture.PNG

اخ حسام وفقك الله 

اذا رفعت الملف يظهر لي في قاعدة البيانات كما هو 

ولكن عند تحميله هنا الاشكالية 

 

بصراحة لا اعلم ما السبب !

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 7 دقائق مضت قال حسام برهان:

يعني عندما رفعت الملف simple.txt إلى السيرفر وجربت فتح الملف على السيرفر هل نجحت بفتحه وظهرت لك الكلمة Hello ؟

 

بالتأكيد ، لا 

اقصد قمت بفتحه ولكن ظهر نص html واكواد أخرى 

اما كلمة hello فلم اجدها

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
protected void btn_upload_Click(object sender, EventArgs e)
        {
            // check txt file before uploading
            if (txt_title.Text=="")
            {
                lbl_message_page.Text = "File Name Should Be Inserted";
                txt_title.Focus();
                return;
            }

            // generate random number (ID in database)
            string num = "0123456789";
            int lenght = num.Length;

            string otp = string.Empty;

            int otpdigit = 5;
            string finaldigit;
            int getindex;
            for (int i = 0; i < otpdigit; i++)

            {
                do
                {
                    getindex = new Random().Next(0, lenght);
                    finaldigit = num.ToCharArray()[getindex].ToString();
                } while (otp.IndexOf(finaldigit) != -1);
                otp += finaldigit;

            }
            txt_reg_file.Text = otp;
            //End Of Generate Random Numbers-----------------------------------------------------------------

            // Started Upload Files :
            if (FileUpload1.HasFiles)
            {
                string ext = System.IO.Path.GetExtension(FileUpload1.FileName);
                if (ext!=".pdf" && ext!=".docx" && ext !=".doc" && ext!=".text" && ext !=".jpg" && ext!=".txt")
                {
                    lbl_message_page.ForeColor = Color.Red;
                    lbl_message_page.Text = "File you would uploaded not supported";
                    return;
                }
                string FileName = string.Empty; 
                FileName = FileName.ToString() + "_";
                FileName = FileName + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString();
                FileName += DateTime.Now.Hour.ToString();
                FileName += DateTime.Now.Minute.ToString();
                FileName += DateTime.Now.Second.ToString();

                FileUpload1.SaveAs(Server.MapPath("Files") + "//" + FileName + ext);
                string path = "~//Files//"+FileName+ext;

                string sql_upload_file = "INSERT INTO TBL_Files (File_ID,File_Title,File_Upload_Date,File_Path,File_Downloads) VALUES (@File_ID,@TITLE,@FILEUPDATE,@FPATH,@FILEDOWNS)";

                SqlCommand cmd = new SqlCommand(sql_upload_file, sqlcon);
                cmd.Parameters.AddWithValue("@File_ID", txt_reg_file.Text);
                cmd.Parameters.AddWithValue("@TITLE", txt_title.Text);
                cmd.Parameters.AddWithValue("@FILEUPDATE", DateTime.Now);
                cmd.Parameters.AddWithValue("@FPATH", path);
                cmd.Parameters.AddWithValue("@FILEDOWNS", 0);

                sqlcon.Open();
                cmd.ExecuteNonQuery();
                sqlcon.Close();
                lbl_message_page.ForeColor = Color.Green;
                lbl_message_page.Text = String.Format("{0} file has been uploaded successfully.", FileUpload1.PostedFiles.Count);
                lbl_file_type.Text +=FileUpload1.FileName;

              //  lbl_message_page.Text = "Data has been saved successfully";
            }
            else
            {
                lbl_message_page.ForeColor = Color.Red;
                lbl_message_page.Text = "not Uploaded !";
            }
        

 

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

  • 0

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

 

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

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...