Search code examples
asp.netimagewebformsimageurl

Adding an ImageUrl to an ImageControl


I need help how to add an ImageUrl to an ImageControl programmatically. I got this code, but I can't (I don't know how) add path that is stored in database.

protected void Button1_Click(object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        string str = FileUpload1.FileName;
        FileUpload1.PostedFile.SaveAs(Server.MapPath(".") + "//images//" + str);
        string path = "~//images//" + str.ToString();
        con.Open();
        SqlCommand cmd = new SqlCommand("insert into upload  values('" + TextBox1.Text + "','" + path + "')", con);
        cmd.ExecuteNonQuery();
        con.Close();
        Label1.Text = "Image uploaded";           
        SqlDataAdapter da = new SqlDataAdapter("Select img from upload", con);
        DataTable dt = new DataTable();
        da.Fill(dt);
        Image1.ImageUrl = 
    }
    else 
    {
        Label1.Text = "Please select image"; 
    }
}

Solution

  • For that particular scenario, you already have an image filename and path. All you need is Image1.ImageUrl = ResolveUrl("~/images/" + fileName);.

    protected void Button1_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            string fileName = FileUpload1.FileName;
            string path = string.Format("{0}\\images\\{1}", 
               HttpRuntime.AppDomainAppPath, fileName);
            FileUpload1.PostedFile.SaveAs(path);
    
            /* Save image information to database */            
    
            Image1.ImageUrl = ResolveUrl("~/images/" + fileName);
        }
        else
        {
            Label1.Text = "Please select image";
        }
    }
    

    FYI: Your code is prone to SQL Injection attack. Make sure you use Parameterized Query.