Эта веб-страница не может отображаться с ошибкой при загрузке bmp-файла

#c# #asp.net

#c# #asp.net

Вопрос:

введите описание изображения здесьУ меня есть выпадающий список с 4 типами файлов (jpg, pdf, kmz, bmp), и я собираю некоторую другую информацию и привязываю ее к сетке, а затем сохраняю в базе данных. Для первых трех типов файлов все работает правильно. Но когда я выбираю тип файла bmp и нажимаю «Отправить», он выдает сообщение «Эта веб-страница не может отображаться». Он даже не доходит до точки отладки. Я имею в виду, что событие нажатия кнопки (отправки) не работает для типа файла bmp. Я не знаю, что происходит не так. Пожалуйста, найдите код ниже.

 protected void btn_add_Click(object sender, EventArgs e)
    {
        try
        {
            if (Page.IsValid)
            {

                if (FileUpload2.HasFile)
                {

                    if (FileUpload2.PostedFile.ContentType == "application/pdf" || FileUpload2.PostedFile.ContentType == "image/jpeg" || FileUpload2.PostedFile.ContentType == "image/pjpeg" || FileUpload2.PostedFile.ContentType == "application/vnd.google-earth.kmz" || FileUpload2.PostedFile.ContentType == "image/bmp" || FileUpload2.PostedFile.ContentType == "image/x-windows-bmp")
                    {
                        try
                        {

                            Byte[] app_id_doc = null;
                            HttpPostedFile File = FileUpload2.PostedFile;
                            app_id_doc = new Byte[File.ContentLength];
                            Byte[] imgByte = null;

                            string filePath = FileUpload2.PostedFile.FileName;
                            ViewState["filename"] = filePath;
                            string filename1 = Path.GetFileName(filePath);
                            string extension = Path.GetExtension(filePath);
                            ViewState["ext"] = extension;

                            HttpPostedFile File1 = FileUpload2.PostedFile;
                            imgByte = new Byte[File1.ContentLength];

                            File.InputStream.Read(imgByte, 0, File.ContentLength);
                            ViewState["imgbyte"] = imgByte;

                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
                string ddlext = ddl_doc.SelectedItem.Text.ToLower();
                string ext = ViewState["ext"].ToString().ToLower().Replace(".", "").Trim();


                if (ddlext != ext)
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('Kindly upload document of selected type.')", true);
                    return;
                }
                else
                {
                    filldata();
                    btn_add.Enabled = false;
                    lbl.Text = ViewState["filename"].ToString().Trim();
                    btn_save.Visible = true;
                }
            }
        }
        catch (Exception ex)
        {
            ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", ex.Message, true);
        }
    }

    public void filldata()
    {
        List<int> arr = new List<int>();
        List<int> arr1 = new List<int>();
        dt = new DataTable();
        dt = (DataTable)ViewState["data"];
        if (dt == null || dt.Rows.Count == 0)
        {
            dt = new DataTable();
            dt.Columns.Add(new DataColumn("cat_id", typeof(int)));
            dt.Columns.Add(new DataColumn("doc_id", typeof(int)));
            dt.Columns.Add(new DataColumn("Category", typeof(string)));
            dt.Columns.Add(new DataColumn("Doc_Name", typeof(string)));
            dt.Columns.Add(new DataColumn("Doc_Tags", typeof(string)));
            dt.Columns.Add(new DataColumn("Doc_Desc", typeof(string)));
            arr = ddl_cat.GetSelectedIndices().ToList();
            ViewState["list"] = arr;
            for (int j = 0; j < arr.Count; j  )
            {
                dt.Rows.Add(ddl_cat.Items[arr[j]].Value.Trim(), ddl_doc.SelectedValue.Trim(), ddl_cat.Items[arr[j]].Text.Trim(), txt_trn_name.Text.Trim(), txt_trn_tags.Text.Trim(), txt_trn_desc.Text.Trim());
            }
        }
        else
        {
            arr = (List<int>)ViewState["list"];
            arr1 = ddl_cat.GetSelectedIndices().ToList();
            for (int x = 0; x < arr1.Count; x  )
            {
                arr.Add(arr1[x]);
            }
            ViewState["list"] = arr;
            for (int j = 0; j < arr1.Count; j  )
            {
                dt.Rows.Add(ddl_cat.Items[arr1[j]].Value.Trim(), ddl_doc.SelectedValue.Trim(), ddl_cat.Items[arr1[j]].Text.Trim(), txt_trn_name.Text.Trim(), txt_trn_tags.Text.Trim(), txt_trn_desc.Text.Trim());
            }
            for (int i = 0; i < arr.Count; i  )
            {
                ddl_cat.Items[arr[i]].Selected = true;
            }
        }
        GridView1.DataSource = dt;
        GridView1.DataBind();
        GridView1.Columns[0].Visible = GridView1.Columns[1].Visible = false;
        ViewState["data"] = dt;
        GridView1.Visible = true;[![enter image description here][1]][1]
    }
  

введите описание изображения здесь

Комментарии:

1. Я думаю, вам нужно поделиться некоторым кодом, чтобы люди поняли вашу ситуацию.

2. Поделитесь кодом! Вы хотите загрузить изображение?

3. `catch (Exception ex) { }` просто проглатывает любые исключения. Если что-то пойдет не так в этом блоке try / catch, то об этом не будет сообщено. Поэтому одной из хороших идей было бы разрешить ему генерировать исключения и посмотреть, не случилось ли что-то не так в этой области