当前位置:编程学习 > C#/ASP.NET >>

c/s winform 图片存放问题

c/s winform +sql 2008

现在有产品图片要存放。数量有几万张,每天还在增加新的图

请问,应该放在 哪里好

1.服务器中的文夹里

2.SQL 数据库中

如果用1的方式。客户端要怎样批量显示图片呢?

--------------------编程问答-------------------- 使用第一种方式,客户端就使用 http 协议下载图片文件就行了。

假设考虑上百万张图片,那么你服务器的图片文件夹,可以首先按照使用“图片文件名的前4个字母+图片文件名的字数)创建子文件夹,然后再在子文件夹里放置实际图片文件,这样可以避免一个文件夹下的文件太多。 --------------------编程问答-------------------- 当然这个图片文件夹的组织结构要根据实际情况灵活设计。例如假设是具有gps信息很多小图片,那么就可以使用图片左上角的空间经纬度(取整)来创建文件夹,例如“pic\164\38”这个文件夹下保存了在天安门广场拍的一张图片。等等。总之是避免一个文件夹下文件太多(不要多过5万个)。

而客户端要下载图片,仍然是按照图片的文件名去下载就行了,你的服务端去找到正确的文件夹,不必要求客户端去涉及文件夹问题。

同样地,数据库也就是保存个文件名称,最好连路径也不要有。 --------------------编程问答-------------------- 你的情况,还是图片放到服务器硬盘吧,每次把图片下载下来显示,本地可以建立缓存,这样不必每次都下载 --------------------编程问答--------------------
引用 3 楼  的回复:
你的情况,还是图片放到服务器硬盘吧,每次把图片下载下来显示,本地可以建立缓存,这样不必每次都下载


+1 --------------------编程问答--------------------
引用 3 楼  的回复:
你的情况,还是图片放到服务器硬盘吧,每次把图片下载下来显示,本地可以建立缓存,这样不必每次都下载

是建立文件夹,把图片放在里面吗.

我有做过1个项目,我门经理要求把图片写入数据库.不知道对还是错. --------------------编程问答-------------------- 应该放文件夹里,你放数据库最后还是要取出显示的呀 --------------------编程问答-------------------- 其实CS的话存放在数据库是比较方便的,按你们老板的意思,数据库够大就行了!使用起来也比较方便! --------------------编程问答-------------------- 这个并不绝对的
放在什么位置取决与设计需求了

额.... 这么说吧,如果十分要求性能,放在是应该放在数据库里的。
因为图片和其相关信息是会在一个sql查询行中,便于封装,而客户端访问的时候一个链接就可以获取到其全部的信息(包括图片与其相关数据)。如果你存本地硬盘,你做的是CS结构,你最少需要两次链接才能取全数据,无论是ftp http 你都有一个获取路径的过程,获取数据的过程,获取图片的过程。而且这两种数据访问都相对要满一些,wcf毕竟是可以走TCP协议的。
再有图片量巨大的情况,硬盘检索图片的速度肯定要小于数据库,整体获得数据时,分配内存的次数也要比数据库的多。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,