我希望通过从系统中提供图像的路径,将任何图像文件从我的系统转换为二进制格式。转换后我想将转换后的二进制格式存储在一个文件夹中。我该怎么做?它应该是Windows窗体应用程序。
答案 0 :(得分:1)
如果您真的只是想将文件存储在数据库中,则根本不需要担心它是图像。图像文件已经是“二进制格式” - 您只需要存储文件数据。有可能以流方式执行此操作,但除非文件很大,否则将它们加载到字节数组中可能更简单:
byte[] image = File.ReadAllBytes(imagePath);
然后在参数化的SQL语句中使用image
作为参数值,例如
string sql = "INSERT INTO Foo (Path, ImageData) VALUES (@Path, @ImageData");
using (var connection = new SqlConnection(...))
{
connection.Open();
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.Add("@Path", SqlDbType.NVarChar).Value = imagePath;
command.Parameters.Add("@ImageData", SqlDbType.Image).Value = imageData;
command.ExecuteNonQuery();
}
}