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

السؤال

نشر

السلام عليكم 

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

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

 

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

Recommended Posts

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

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

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

عند الرفع 88.7kb

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

 

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

  • 0
نشر

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

 

  • 0
نشر (معدل)

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

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

~//Files//simple.txt

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

 

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

 

تم التعديل في بواسطة حسام برهان
  • 0
نشر (معدل)

هلا بالغالي

 

طبقت ما ذكرته 

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

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

Update

 

xxx.jpg

update

لللل.jpg

تم التعديل في بواسطة عبدالله الناصري
خطأ املائي
  • 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 !";
            }
        

 

تم التعديل في بواسطة عبدالله الناصري

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...