家伙! 我有一项任务是从Northwind数据库中检索所有图像(它们以二进制格式给出),它位于Categories表中并将它们作为JPG格式存储在文件系统中。我真的很陌生,需要一些帮助。我想出了这个,但它根本不起作用。
private static void WriteBinaryData(string fileName, byte[] fileContents)
{
FileStream stream = File.OpenWrite(fileName);
using (stream)
{
stream.Write(fileContents, 0, fileContents.Length);
}
}
static void Main(string[] args)
{
SqlConnection conn = new SqlConnection("Server = HOME-PC\\KRISKO; " +
"Database=Northwind; Integrated Security=true");
conn.Open();
using (conn)
{
SqlCommand cmd = new SqlCommand("SELECT Picture FROM Categories", conn);
SqlDataReader reader = cmd.ExecuteReader();
using (reader)
{
while (reader.Read())
{
byte[] image = (byte[])reader["Picture"];
WriteBinaryData("C:\\Users\\Niki\\Desktop", image);
}
}
}
}
答案 0 :(得分:0)
我在下面看到了几个问题
您的文件路径C:\\Users\\Niki\\Desktop
可能是一个问题,因为如果这是其他用户帐户个人资料,您可能无权访问该文件;不是你的。
您没有为图片文件提供文件名,因为此代码FileStream stream = File.OpenWrite(fileName);
此处fileName
变量只包含路径且没有与之关联的文件名