一般情况下,会把图像放到一个特殊的目录下,而数据库里面只要存放图像的路经,就可以很简单的把图像从页面上显示出来。但是有些情况下,想把图像放到数据库里,需要的时候再读取出来。
这样就出了问题,怎样把图像发送到客户端。1.解决方法:
平时大家使用的一种方法就是把读取图片的功能封装到一个httphandle里面(jsp里面是servlet),把图片的连接指向这个httphandle。
问题:
这种方法有个缺点,就是再读取图片的时候,必须再进行一次查询,也就是说,如果有个列表,一次查询有100个记录,如果没有图片的话,一次查询就可以返回100个记录,但是如果每个记录都带有一个图片的话,那么就必须每个图片再查询一次,那就是101次。
2.解决方法:
一次查询,并把图片放到临时目录里,页面指明图片路经。问题:
这种方法,和把图片放到一个特殊目录里,数据库里面只存路经也没什么区别,而且还增加了写盘的操作。
现在一种解决方案,就是说查询只要一次,返回所有的记录,当然也包括二进制的图片的字段(image字段,或者varbinary(MAX)字段)。然后图片数据驻留内存,然后当页面里请求图片时,传送到客户端。现在想听听大家的意见。
请踊跃发言。
这样就出了问题,怎样把图像发送到客户端。1.解决方法:
平时大家使用的一种方法就是把读取图片的功能封装到一个httphandle里面(jsp里面是servlet),把图片的连接指向这个httphandle。
问题:
这种方法有个缺点,就是再读取图片的时候,必须再进行一次查询,也就是说,如果有个列表,一次查询有100个记录,如果没有图片的话,一次查询就可以返回100个记录,但是如果每个记录都带有一个图片的话,那么就必须每个图片再查询一次,那就是101次。
2.解决方法:
一次查询,并把图片放到临时目录里,页面指明图片路经。问题:
这种方法,和把图片放到一个特殊目录里,数据库里面只存路经也没什么区别,而且还增加了写盘的操作。
现在一种解决方案,就是说查询只要一次,返回所有的记录,当然也包括二进制的图片的字段(image字段,或者varbinary(MAX)字段)。然后图片数据驻留内存,然后当页面里请求图片时,传送到客户端。现在想听听大家的意见。
请踊跃发言。
解决方案 »
- mvc 二级联动下拉列表出现的问题????
- 初学者的疑问
- 复制文件问题:
- 超级无敌垃圾错误,寻求解决
- 关于服务器配置的问题
- 我想取出表格的第一句话,如何取啊?
- 孟子老大的一篇关于“在DataGrid中如何实现单选”,我试过了,现有一个问题,如何能让第一条记录默认为选中状态?地址在这!!
- 怪问题啊. DataTable1.Rows.Count 的问题
- 利用反射创建类的实例为什么返回为空,在线等
- 请问如何选择dropdownlist的值为123的SelectedIndex
- <a href='test.aspx?name=document.getElementById("TextBox1.Text").value'>
- 急求: 网页中ComboBox 效果的实现
————————————————————————————————————————
我没有看见过仅仅为了显示图片就如此兴师动众的做法,不知“平时大家”从何而来。一个aspx页面显示的时候,可以从Cache或者Session中获取数据,其key键值来自于url参数,这Cache或者Session存储并不需要两次查询数据库或者磁盘文件。
平时大家使用的一种方法就是把读取图片的功能封装到一个httphandle里面
————————————————————————————————————————
我没有看见过仅仅为了显示图片就如此兴师动众的做法,不知“平时大家”从何而来。一个aspx页面显示的时候,可以从Cache或者Session中获取数据,其key键值来自于url参数,这Cache或者Session存储并不需要两次查询数据库或者磁盘文件。
----------------------------------------------------------------------------sorry,也许是我主观臆断,我以前没做过asp.net,所以对于aspx页面的储存能力理解不足。
不过即使是这样,我想返回图片的部分也是借助了本身这个aspx页面的。如果这样的话,还不如单独使用一个httphandle来管理session中的图片返回比较清晰。