通过fileupload上传图像后发现问题 [英] Finding issue after uploading images via fileupload

查看:50
本文介绍了通过fileupload上传图像后发现问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好

下面的代码是有效的,但问题是,当图像上传到文件然后它变空我的意思是如果我打开文件夹我看到有图像文件的名称正确但大小是0字节,它没有显示图像







Hello
The below code is working but the problem is that when the images uploaded to the files then it comes empty i mean if i open the folder i see there is image file with correct name but the size is 0 bytes and it did not show the image



 private string[] GetImagess(string UID)
        {
            SqlConnection EdPersInfoCon = new SqlConnection(sc);
            EdPersInfoCon.Open();
            SqlCommand EdPersInfocmd = new SqlCommand();
            string sqlstatment = @"select Img,Logo,image1,image2,image3 from UserInfo Where UID=@UID";
            EdPersInfocmd.Connection = EdPersInfoCon;
            EdPersInfocmd.CommandType = CommandType.Text;
            EdPersInfocmd.CommandText = sqlstatment;
            EdPersInfocmd.Parameters.AddWithValue("@UID", UID);

            SqlDataReader reader = EdPersInfocmd.ExecuteReader();
            string[] imagesUI = new string[5];
            if (reader.Read())
            {
                for (int i = 0; i < 5; i++)
                {
                    if (reader.GetValue(i) is DBNull)
                    {
                        imagesUI[i] = string.Empty;
                    }
                    else
                    {
                        imagesUI[i] = reader.GetString(i);
                    }
                }
            }
            return imagesUI;
        }


        protected void editHPPersInfobtn_Click(object sender, EventArgs e)
        {
            SqlConnection EdPersInfoCon = new SqlConnection(sc);
            SqlCommand EditUsrInfoCMD = new SqlCommand();
            var UsrNme = Session["UsrNme"];

            string FileExtentiona = System.IO.Path.GetExtension(EditImgFUP.FileName);
            string FileExtentiona2 = System.IO.Path.GetExtension(EditPersInfologoFileUp.FileName);
            string FileExtentiona3 = System.IO.Path.GetExtension(EditPesInfoBizImg1FU.FileName);
            string FileExtentiona4 = System.IO.Path.GetExtension(EditPesInfoBizImg2FU.FileName);
            string FileExtentiona5 = System.IO.Path.GetExtension(EditPesInfoBizImg3FU.FileName);

            if (Session["UsrNme"] != null)
            {
                if (EditImgFUP.HasFile || EditPersInfologoFileUp.HasFile || EditPesInfoBizImg1FU.HasFile || EditPesInfoBizImg2FU.HasFile || EditPesInfoBizImg3FU.HasFile)
                {
            if (EditImgFUP.PostedFile.ContentType.ToLower().StartsWith("image/") ||
            EditPersInfologoFileUp.PostedFile.ContentType.ToLower().StartsWith("image/") ||
            EditPesInfoBizImg1FU.PostedFile.ContentType.ToLower().StartsWith("image/") ||
            EditPesInfoBizImg2FU.PostedFile.ContentType.ToLower().StartsWith("image/") ||
            EditPesInfoBizImg3FU.PostedFile.ContentType.ToLower().StartsWith("image/"))

                    {
                        var files = new[] { FileExtentiona, FileExtentiona2, FileExtentiona3, FileExtentiona4, FileExtentiona5 };
                        var extensions = new[] { ".jpg", ".png" };
                        if ((files.Intersect(extensions).Count()) > 0)
                        {

                            string EditUsrInfoSQL = @"Update UserInfo SET  FN=@FN, LN=@LN, Password=@Password, RePass=@RePass, Website=@Website, 
Post=@Post, Email=@Email, Address=@Address, TeleNum=@TeleNum, Facebook=@Facebook, GooglePlus=@GooglePlus, Twitter=@Twitter, 
Img=@Img, Logo=@Logo, image1=@image1, image2=@image2, image3=@image3 Where UID=@UID";

                            EditUsrInfoCMD.Connection = EdPersInfoCon;
                            EditUsrInfoCMD.CommandType = CommandType.Text;
                            EditUsrInfoCMD.CommandText = EditUsrInfoSQL;

                            EditUsrInfoCMD.Parameters.AddWithValue("@UID", UsrNme);
                            EditUsrInfoCMD.Parameters.AddWithValue("@FN", FNEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@LN", LNEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Password", PASSEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@RePass", REPASEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Website", REWEBSITETXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Post", PSOTEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Address", AddEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Email", EMAEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@TeleNum", TeleEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Facebook", FaceEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@GooglePlus", GoogEDTTXTBX.Text);
                            EditUsrInfoCMD.Parameters.AddWithValue("@Twitter", TwitEDTTXTBX.Text);

                            string imgnouser = "/images/general/nouser.jpg";

                            string[] imagesUI = GetImagess(Convert.ToString(UsrNme));

                            if (EditImgFUP.HasFile)
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@Img", EditImgFUP.FileName);
                                EditImgFUP.SaveAs(Server.MapPath("~/images/users/" + EditImgFUP.FileName));

                            }
                            else
                            {
                                if (string.IsNullOrEmpty(imagesUI[0]))
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@Img", imgnouser);
                                }
                                else
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@Img", imagesUI[0]);
                                }

                                
                            }


                            if (EditPersInfologoFileUp.HasFile)
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@Logo", EditPersInfologoFileUp.FileName);
                                EditImgFUP.SaveAs(Server.MapPath("~/images/Logos/" + EditPersInfologoFileUp.FileName));

                            }
                            else
                            {
                                if (string.IsNullOrEmpty(imagesUI[1]))
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@Logo", imgnouser);
                                }
                                else
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@Logo", imagesUI[1]);
                                }
                                
                            }

                            if (EditPesInfoBizImg1FU.HasFile)
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@image1", EditPesInfoBizImg1FU.FileName);
                                EditImgFUP.SaveAs(Server.MapPath("~/images/BizImgs/" + EditPesInfoBizImg1FU.FileName));

                            }
                            else
                            {
                                if (string.IsNullOrEmpty(imagesUI[2]))
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@image1", imgnouser);
                                }
                                else
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@image1", imagesUI[2]);
                                }

                            }


                            if (EditPesInfoBizImg2FU.HasFile)
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@image2", EditPesInfoBizImg2FU.FileName);
                                EditImgFUP.SaveAs(Server.MapPath("~/images/BizImgs/" + EditPesInfoBizImg2FU.FileName));

                            }
                            else
                            {
                                if (string.IsNullOrEmpty(imagesUI[3]))
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@image2", imgnouser);
                                }
                                else
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@image2", imagesUI[3]);
                                }

                            }

                            if (EditPesInfoBizImg3FU.HasFile)
                            {
                                EditUsrInfoCMD.Parameters.AddWithValue("@image3", EditPesInfoBizImg3FU.FileName);
                                EditImgFUP.SaveAs(Server.MapPath("~/images/BizImgs/" + EditPesInfoBizImg3FU.FileName));

                            }
                            else
                            {
                                if (string.IsNullOrEmpty(imagesUI[4]))
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@image3", imgnouser);
                                }
                                else
                                {
                                    EditUsrInfoCMD.Parameters.AddWithValue("@image3", imagesUI[4]);
                                }

                            }
                        }
                        else
                        {
                            EditPersInfoImgFrmtWarnLbl.Text = "The file should have .png or .jpg format only";
                            EditPersInfoImgFrmtWarnLbl.ForeColor = System.Drawing.Color.Red;
                        }

                    }

                }
                    else
                    {

                        string EditUsrInfoSQL = @"Update UserInfo SET  FN=@FN, LN=@LN, Password=@Password, RePass=@RePass, Website=@Website, 
Post=@Post, Email=@Email, Address=@Address, TeleNum=@TeleNum, Facebook=@Facebook, GooglePlus=@GooglePlus, Twitter=@Twitter Where
UID=@UID";

                        EditUsrInfoCMD.Connection = EdPersInfoCon;
                        EditUsrInfoCMD.CommandType = CommandType.Text;
                        EditUsrInfoCMD.CommandText = EditUsrInfoSQL;

                        EditUsrInfoCMD.Parameters.AddWithValue("@UID", UsrNme);
                        EditUsrInfoCMD.Parameters.AddWithValue("@FN", FNEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@LN", LNEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Password", PASSEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@RePass", REPASEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Website", REWEBSITETXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Post", PSOTEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Address", AddEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Email", EMAEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@TeleNum", TeleEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Facebook", FaceEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@GooglePlus", GoogEDTTXTBX.Text);
                        EditUsrInfoCMD.Parameters.AddWithValue("@Twitter", TwitEDTTXTBX.Text);
                    }

      
                    EdPersInfoCon.Open();
                    int result = EditUsrInfoCMD.ExecuteNonQuery();
                    if (result > 0)
                    {
                        // Updated successfully;
                    }
                    
       
                EditUsrPan.Visible = false;
                showusrinfo.Visible = true;
                ReHPPersInfo();

            }
           
        }

推荐答案

我相信你有多个上传控件在您的页面中(ditImgFUP,EditPersInfologoFileUp,EditPesInfoBizImg1FU)。但是在代码中,您正在检查一个控件的hasFile属性和其他控件的SaveAs()。请参阅下面的代码,它是在 EditPersInfologoFileUp 控件中检查文件,但它是从 EditImgFUP 控件保存的。它可能是 EditImgFUP 控件中不存在的文件。



I believe that you have multiple Upload controls in your page(ditImgFUP,EditPersInfologoFileUp, EditPesInfoBizImg1FU). But in code you are checking hasFile property for one control and SaveAs() for other control. See in below code it is checking file in EditPersInfologoFileUp control but it is saving from EditImgFUP control. It might be file is not present in EditImgFUP control.

if (EditPersInfologoFileUp.HasFile)
{
EditUsrInfoCMD.Parameters.AddWithValue("@Logo", EditPersInfologoFileUp.FileName);
EditImgFUP.SaveAs(Server.MapPath("~/images/Logos/" + EditPersInfologoFileUp.FileName));
}



其次要确保当您使用SavaAs()进行上传控制时,您应该在该控件中上传文件。为了解决问题,HasFile控件ID和SavaAs控件应该相同,以便上传正确的文件。


Secondly make sure that when you are using SavaAs() for upload control you should upload file in that control. In order to resolve problem HasFile control ID and SavaAs control should be same to upload correct file.


这篇关于通过fileupload上传图像后发现问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆