有一个员工表Employee,需要保存员工照片(Photo)到数据库(sql server)上。员工照片对应的字段是varbinary(max),也就是要存成二进制文件类型(这和以前讨巧地存图片文件路径就不相同了),默认可以为空。下面说说主要实现思路:
1、存取图片
(1)、将图片文件转换为二进制并直接存进sql server
Code
(2)、在网页中上传图片
Code
(3)、从数据库取出照片(返回格式Image)
Code
上面的这个方法取出来之后,如果在winform下,直接给一个PictureBox的Image属性赋值就可以了。可是web下没有这么强大的控件,所以,就有了下面的步骤。
2、直接在网页中以流的形式显示图片
(1)、生成图片流页面(ImgHelper .aspx)
这个页面的设计页面什么也没有,类文件如下:
Code
(2)、显示照片的页面调用ImgHelper .aspx
在页面加载的时候,给图片控件赋值如下:
this
.imgPhoto.ImageUrl
=
"
/ImgHelper.aspx?employeeId=
"
+
tmpEmployee.Id.ToString();
//
imgPhoto是图片控件
总体来说,一存一取,对于winform是很方便的,但是对于webform,我们需要稍微有一个转化的思路。如果有牛人写出像winform下那种直接绑定Image对象的控件更好了。上面代码测试通过,希望对你有帮助。
本文转自JeffWong博客园博客,原文链接:http://www.cnblogs.com/jeffwongishandsome/archive/2009/08/27/1554440.html,如需转载请自行联系原作者