关于显示数据库图片的问题!!!

ivanho 2009-09-21 05:09:32
构想是这样的:

一.将图片以二进制数据方式,通过WEB传到数据库.
二.通过WEB读取数据库图片.
三.支持一对多,浏览图片.如:绑定图片说明,同样的说明有好几张图片.要能一一浏览出来
四.特效要求:要求输入图片ID后,读取该ID所有图片,以小样显示,点小样显示大图,大图能缩放.
...全文
96 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ivanho 2009-09-25
  • 打赏
  • 举报
回复
问题是:点小样图,然后显示大图,这大图要是另页显示的话,用 <a href ="StreamImg.aspx?ImgID=22" border="1" onmousewheel="return bigimg(this)">显示,会有报错.


验证 (XHTML 1.0 Transitional): 属性“onmousewheel”不是元素“img”的有效属性。


所以不能缩放.
ivanho 2009-09-23
  • 打赏
  • 举报
回复
问题是:点小样图,然后显示大图,这大图要是另页显示的话,用<a href ="StreamImg.aspx?ImgID=22" border="1" onmousewheel="return bigimg(this)">显示,会有报错.


验证 (XHTML 1.0 Transitional): 属性“onmousewheel”不是元素“img”的有效属性。


所以不能缩放.
wuyq11 2009-09-22
  • 打赏
  • 举报
回复
通过多文件上传图片到数据库,也可保存路径到数据库
通过控件如gridview绑定show.aspx,在show.aspx里读取图片或遍历循环,读出图片
using(SqlConnection conn=new SqlConnection())
{
conn.ConnectionString="";
string strSql="select * from img where Id='"+Id+"'";
SqlCommand cmd=new SqlCommand(strSql,conn) ;
conn.Open();
SqlDataReader reader=cmd.ExecuteReader();
if(reader.Read())
{
Response.ContentType = "application/octet-stream";
Response.BinaryWrite((Byte[])reader["img"]);
}
Response.End();
conn.Close();
}
放大缩小通过JS就可实现
function zoomimg(img){
var zoom = parseInt(img.style.zoom,10);
if (isNaN(zoom)){
zoom = 100;
}
zoom += event.wheelDelta / 12;
if (zoom>10) img.style.zoom = zoom + "%";
return false;
}
</script>
<img src="1.jpg" onmousewheel="return zoomimg(this);">
lovelan1748 2009-09-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 windsea123 的回复:]
有点晕
1、不要把图片以流的形式存放在数据库,最好存url
2、支持1:n用主表和从表来操作,更规范一点。
3、在图片显示时,上传最好以大图和小图的方式保存,内容页面读大图,其它页面读小图
[/Quote]
存什么其实也是要看情况的
tfpeixun 2009-09-22
  • 打赏
  • 举报
回复
C#处理图片很简单的,使用bitmap对象保存的时候保存为二进制数据,取出来展示的时候也是先取出作为二进制数据,然后再创建bitmap对象。关于缩放,imag控件上只要把属性设置了就可以了。

还是跟楼上的一样,建议保存地址。之前做的一个系统,存图片那个表2000条记录左右,表也不是很长,就7,8个字段。select * 使用了40多秒。(注 :数据库是sqlserver 2000)
wiki14 2009-09-22
  • 打赏
  • 举报
回复
一般都是存路径,在读取的时候读路径就OK了。
badboyzly 2009-09-22
  • 打赏
  • 举报
回复
同意楼上的做法,日常在开发中一直只用的就是这样的方法。
不建议使用二进制存储到数据库中,这样做数据库备份恢复都很麻烦,另外就是读取的时候也不方便。
windsea123 2009-09-21
  • 打赏
  • 举报
回复
有点晕
1、不要把图片以流的形式存放在数据库,最好存url
2、支持1:n用主表和从表来操作,更规范一点。
3、在图片显示时,上传最好以大图和小图的方式保存,内容页面读大图,其它页面读小图
surlew 2009-09-21
  • 打赏
  • 举报
回复
1.直接将图片保存到数据库,然后从数据库取
2.将图片保存到服务器上,然后保存服务器上的图片路径到数据库,显示图片的时候就取路径,然后根据路径显示图片

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧