【发布时间】:2011-04-20 01:08:02
【问题描述】:
我想使用 Visual Studio 中的文件上传控件将图像插入 MySQL 数据库。我正在使用带有 ODBCc 和 .NET 连接器的 ASP.NET 3.5 和 MySQL 社区服务器。
【问题讨论】:
标签: asp.net mysql visual-studio
我想使用 Visual Studio 中的文件上传控件将图像插入 MySQL 数据库。我正在使用带有 ODBCc 和 .NET 连接器的 ASP.NET 3.5 和 MySQL 社区服务器。
【问题讨论】:
标签: asp.net mysql visual-studio
这里有一些代码会将发布的文件拉入字节数组。然后它将它传递给 MySQL。假定 varbinary 列数据类型。根据需要进行修改。
if(FileUploadControl.HasFile)
{
try
{
byte[] img = new byte[FileUploadControl.PostedFile.ContentLength- 1];
img = FileUploadControl.FileBytes;
InsertImg(img);
}
catch(Exception ex)
{
}
}
....
public void InsertImg(byte[] img) //untested code
{
using (MySqlConnection conn = new MySqlConnection(connString))
{
using (MySqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = @"INSERT INTO MyTable(MyImage) VALUES (@Img)";
cmd.Parameters.Add("@Img", System.Data.SqlDbType.VarBinary); //or SqlDbType.Image
cmd.Parameters["@Img"].Value = img;
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
【讨论】:
Unable to cast object of type 'System.Byte[]' to type 'System.IConvertible'.