C# 如何保存图像数据库并将其显示在网页的面板上?
我在visual studio中的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
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;
}