通过C#添加图像斑点(MySQL的)(Adding image to blob (mysql) vi

2019-09-22 01:17发布

我做了一个C#应用程序,增加了影像从硬盘到BLOB字段在MySQL。 我不明白的错误和BLOB字段被填满。

当我在MySQL Workbench中检查BLOB字段,它说的领域是不正确的(它不能显示图像)。

无论我做什么,我尝试任何例子,似乎没有任何工作。 所以它没有指向这里放置任何示例代码,因为没有什么工作至今。

有没有人有一个很好的例子代码,我可以试试吗?

谢谢

Answer 1:

好吧,既然有人想显示一些代码,我创建了亚历克斯的链接描述的帮助下很简单的控制台应用程序。 我从字面上理解这些代码,并放置在控制台应用程序。 一些奇迹happend,因为它一旦担任我开始应用。 我不知道我做错了什么在主应用程序,但它要的东西(废话)。 下面是代码:

string MyConString = "SERVER=localhost;" +
    "DATABASE=database;" +
    "UID=root;" +
    "PASSWORD=pass;";

System.IO.FileStream fs = new FileStream(@"D:\link\to\image.png", FileMode.Open);
System.IO.BufferedStream bf = new BufferedStream(fs);
byte[] buffer = new byte[bf.Length];
bf.Read(buffer, 0, buffer.Length);    

byte[] buffer_new = buffer;

MySqlConnection connection = new MySqlConnection(MyConString);
connection.Open();
MySqlCommand command = new MySqlCommand("", connection);
command.CommandText = "insert into table(fldImage) values(@image);";

command.Parameters.AddWithValue("@image", buffer_new);

command.ExecuteNonQuery();

connection.Close();

Console.WriteLine("Task Performed!");
Console.ReadLine();


Answer 2:

我发现与MySQL和.NET的工作时, MySQL连接使事情变得非常简单!

这家伙: 通过C#应用程序在MySQL中保存的图像似乎是正确的线路。

祝好运!



Answer 3:

你尝试通过MySQL连接(您存储的方式),以恢复斑点。 MySQL工作台不显示图像并不意味着不被存储。

尝试恢复图像:

while (reader.read())
{
    var image = (byte[])reader.getColumn(0);
    File.WriteAllBytes(@"c:\image.extension", image);
}

这种方式可以确保它的储蓄。



文章来源: Adding image to blob (mysql) via c#