C# 无法通过asp.net中的Url获取图像控件中的图像

C# 无法通过asp.net中的Url获取图像控件中的图像,c#,sql,asp.net,C#,Sql,Asp.net,您好,朋友们,我正在通过数据库中的URL存储图像,但当我在asp.net的图像控件上检索图像时,它不会显示图像,请帮助 Profile.aspx.cs con.Open(); string str = "SELECT * FROM [aspdotnetpractice].[dbo].[Users] where Username ='" + lblHowdy.Text + "'"; SqlCommand com =

您好,朋友们,我正在通过数据库中的URL存储图像,但当我在asp.net的图像控件上检索图像时,它不会显示图像,请帮助

Profile.aspx.cs

con.Open();
                    string str = "SELECT * FROM [aspdotnetpractice].[dbo].[Users]  where Username ='" + lblHowdy.Text + "'";
                    SqlCommand com = new SqlCommand(str, con);
                    SqlDataReader reader = com.ExecuteReader();
                    if (reader.Read())
                    {
                        Image1.ImageUrl = Server.MapPath(reader[8].ToString());
                        Label1.Text = reader[1].ToString();
                        Label2.Text = reader[2].ToString();
                        Label3.Text = reader[3].ToString();
                        Label4.Text = reader[6].ToString();
                        Label5.Text = reader[4].ToString();
                        reader.Close();
                        con.Close();
                    }

确保保存路径值,如“ImageFiles/test.jpg”,或仅保存文件名,如“test.jpg”。不要将完整的本地路径(如“c:\…\test.jpg”)保存到路径字段。在imageurl中,应该使用虚拟路径而不是物理路径

Server.MapPath返回一个文件名。另一方面,Image.ResolveUrl需要一个有效的url

你宁愿想要像这样的东西

 Image1.ImageUrl = Page.ResolveUrl("~/ImageFiles/") + fi.Name; // You just need to pass name or something similar.

首先检查Server.MapPath(读卡器[8].ToString())输出的内容。第二,检查该url上是否存在图像。您存在SQL注入漏洞。请编写一个
读取器[8]的示例。ToString()
-图像url图像位于图像文件夹中,图像路径存储在数据库中,我将在此处重新搜索路径读取器[8]。ToString()并将其交给Image ControlUserId全名性别DOB用户名密码电子邮件文件名FilePath 1 asas Male 2014年7月28日adeebhat99adeebhat@live.co.uk2.png图像/2.png