我正在尝试使用c#将sql server 2005中的图像检索到asp.net网页,这是我的代码
SqlCommand getImageCmd = new SqlCommand("select Image from Images where ImageName = '" + getImageDropDownList.SelectedValue.ToString() + "'", con);
byte[] imageData = (byte[])getImageCmd.ExecuteScalar();
FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(imageData, 0, (imageData.Length) );
Image1.ImageUrl = "path";
fs.Close();
问题是我的图像控件中没有任何输出。
这是我用于将图像存储到数据库中的代码: byte [] data = ImageUpload.FileBytes;
SqlCommand sc = new SqlCommand("insert into Images(ImageName,Image) values (@n, @p)", con);
sc.Parameters.AddWithValue("@p", data);
sc.Parameters.AddWithValue("@n", imageNameTextBox.Text);
sc.ExecuteNonQuery();
答案 0 :(得分:0)
答案 1 :(得分:0)
我认为你要做的是,
发布的代码唯一明显错误的是您将ImageUrl
设置为文字"Path"
而不是存储在Path中的值。很明显,Path不是URL而是目录/文件路径,因此您需要做一些魔术来将其设置为URL。
如果你不喜欢使用别人的代码,我可以检查一下 - http://aspnet.codeplex.com/releases/view/16449,它有效且非常棒。
如果所有其他方法都失败了,请考虑编写自己的ASHX或IHttpHandler的实现来解决这个问题。快速谷歌出现了http://www.dotnetperls.com/ashx