如何解决检索存储在sql server 2005中的图像时出现问题
| 我正在尝试使用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,(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();
解决方法
试试看这里:
使用Microsoft .NET从SQL Server存储和检索图像
, 我想你想做的是
从数据库中抓取图像,
保存在磁盘上并
将URL设置为该文件
唯一明显与已发布代码错误的是,您将
ImageUrl
设置为文字\"Path\"
而不是存储在Path中的值。显然,Path不是URL,而是目录/文件路径,因此您需要做一些魔术才能将其设置为URL。
如果您不反对使用别人的代码,并且能够,我会检查一下
-http://aspnet.codeplex.com/releases/view/16449,它有效并且很棒。
如果所有其他方法都失败,请考虑编写自己的ASHX或IHttpHandler的实现来解决此问题。一个快速的谷歌出现了这个http://www.dotnetperls.com/ashx
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。