C# 如何保存图像数据库并将其显示在网页的面板上?

C# 如何保存图像数据库并将其显示在网页的面板上?,c#,mysql,asp.net,visual-studio-2012,C#,Mysql,Asp.net,Visual Studio 2012,我在visual studio中的webform上为图像创建了一个文件夹,标题为(发票),我想将图像的根目录保存在MySql数据库中,并在网页的一个面板上显示图像。图像已保存在文件夹中,但未保存在数据库中 我试过的代码 受保护的无效页面加载(对象发送方、事件参数e) { }更新 首先尝试此代码,使用此示例您不需要使用Rename方法,并且无论其扩展名是什么,都支持它: #region fileupload var FileExtension = Path.GetExtension(FileUp

我在visual studio中的
webform
上为图像创建了一个文件夹,标题为(发票),我想将图像的根目录保存在
MySql
数据库中,并在网页的一个面板上显示图像。图像已保存在文件夹中,但未保存在数据库中

我试过的代码

受保护的无效页面加载(对象发送方、事件参数e) {


}

更新

首先尝试此代码,使用此示例您不需要使用Rename方法,并且无论其扩展名是什么,都支持它:

#region fileupload 
var FileExtension = Path.GetExtension(FileUpload1.PostedFile.FileName).Substring(1); 
string SaveLocation = Server.MapPath("Invoices\\") + Guid.NewGuid().ToString("N") + "." + FileExtension; 

try 
{ 
FileUpload1.PostedFile.SaveAs(SaveLocation); 
} 
catch (Exception ex) 
{ 
if (ex is ArgumentNullException || ex is NullReferenceException) 
{ 
throw ex; 
} 
} 
string PicAddress = "~/Invoices/" + SaveLocation; 

#endregion 

MySqlConnection connection = new MySqlConnection("server=localhost; userid=root; password=admin1234; database=admindb; allowuservariables=True"); 
MySqlCommand cmd = new MySqlCommand(); 
cmd.CommandText = "INSERT INTO InvoicesFP (PicAddress) VALUES (@PicAddress)"; 
cmd.CommandType = CommandType.Text; 
cmd.Connection = connection; 
cmd.Parameters.AddWithValue("PicAddress", "PicAddress"); 
cmd.Connection.Open(); 
cmd.ExecuteNonQuery(); 
cmd.Connection.Close(); 
然后在页面加载中,您可以调用Select查询从数据库中获取地址并将其传递给控件,例如:

   const string DB_CONN_STR = "Server=etc;Uid=etc;Pwd=etc;Database=etc;";

    MySqlConnection cn = new MySqlConnection(DB_CONN_STR);

    try {

        string sqlCmd = "SELECT PicAddress FROM [YourTable] where Id == PicAddress id";

        cn.Open(); // have to explicitly open connection (fetches from pool)

        MySqlCommand cmd = new MySqlCommand(sqlCmd, cn);
        cmd.CommandType = CommandType.Text;
        MySqlDataReader rdr = cmd.ExecuteReader();

        while(rdr.Read())
        {
            string url = rdr["Name of the Field Assuming PicAddress"].ToString(); 
            Image1.ImageUrl = url; 
        }
    }
    catch(Exception ex)
    {
        throw ex; 
    }

这就是快乐的编码

而你的问题是……?当我上传图像时,它没有保存在文件夹和数据库的表中,也没有显示任何错误!您捕获到两个错误,但放弃了其他任何错误。在catch语句中放置一个断点,看看它是否命中;这段对话已经结束。
   const string DB_CONN_STR = "Server=etc;Uid=etc;Pwd=etc;Database=etc;";

    MySqlConnection cn = new MySqlConnection(DB_CONN_STR);

    try {

        string sqlCmd = "SELECT PicAddress FROM [YourTable] where Id == PicAddress id";

        cn.Open(); // have to explicitly open connection (fetches from pool)

        MySqlCommand cmd = new MySqlCommand(sqlCmd, cn);
        cmd.CommandType = CommandType.Text;
        MySqlDataReader rdr = cmd.ExecuteReader();

        while(rdr.Read())
        {
            string url = rdr["Name of the Field Assuming PicAddress"].ToString(); 
            Image1.ImageUrl = url; 
        }
    }
    catch(Exception ex)
    {
        throw ex; 
    }