• 主页
  • API 调用
  • 基础类
  • 控件与界面
  • 数据库相关
  • DataWindow
  • 项目管理
  • Web 应用
  • 脚本语言

pb 存储 查看 图片

wzh2021 2016-05-28 09:37:23
[size=24px]写的比较多,请仔细看完,欢迎讨论,谢谢/size]
背景:
系统(pb开发的)使用中需要查看已经上传的图片资料,目前这些图片信息保存在数据库db中,此数据库也是生产系统使用。
每个图片也比较大,每个从几M到10M不等。
每次查看图片的时候,数据库db的开销很大(平每次大约会取5个文件,每个从几M到10M不等),影响到了数据库db对其他业务的响应。
查看图片的功能,是在系统的某个窗口中

目标:
1、查看图片还是必须嵌入到原来的系统中,使用者无需切换系统,至于底层实现无所谓,只要用户觉得还是1个系统即可
2、上传图片,无论何种方式,上传可以使用单独的工具既可以(自主编写,使用第三方均可),不在本次讨论

尝试1,将图片单独存储在了一个数据库db中,不就不影响业务了吗
结果——造成了系统前台假死
尝试2,改为存放在文件服务器中,直接读取,不知可行否

有什么可行方式,使用文件服务器?ftp?
...全文
776 点赞 收藏 16
写回复
16 条回复
wzh2021 2016年09月07日
结贴,感谢大家的回复。 最终实现: 1、使用文件服务器 2、使用net use命令
回复 点赞
pcwe2002 2016年06月27日
引用 14 楼 nhudailiming 的回复:
[quote=引用 3 楼 blandwolf 的回复:] 用apache做个简单的HTTP服务器,放图片,在数据库里存图片地址,在pb里面读取图片地址显示图片。
问下 pb 如何做到上传 到http 服务器的呢 ?[/quote] 可以看下这个http://download.csdn.net/detail/pcwe2002/9523299 带http服务器和pb上传下载的demo
回复 点赞
nhudailiming 2016年06月27日
引用 3 楼 blandwolf 的回复:
用apache做个简单的HTTP服务器,放图片,在数据库里存图片地址,在pb里面读取图片地址显示图片。
问下 pb 如何做到上传 到http 服务器的呢 ?
回复 点赞
zhangyangziwo 2016年06月01日
引用 11 楼 lzp_lrp 的回复:
如果文件比较大的话,建议直接用文件方式来保存,不要存在数据库中,备份不方便,而且对数据库的性能影响较大,你可以采用FTP上传,然后用http文件来显示图片,Http的话可以用IIS或者Tomcat之类的,传输采用Http自带的gzip压缩,省的你去压缩和解压,我们的升级程序就是采用的这种方式,非常方便,如果不清楚,也可QQ交流,QQ号已经发站内短信给你了
版主的自动升级程序,是用什么做的?pb吗?
回复 点赞
sybasebbs 2016年06月01日
建议做HTTP服务器存储,存DB太不现实了。维护下载更新都不方便
回复 点赞
core0 2016年05月31日
引用 5 楼 wzh502887976 的回复:
[quote=引用 2 楼 core0 的回复:] 一般做法是不会把图片存到db里,尤其有一定查询量的。你可以考虑db里存放的是图片的下载路径,然后需要的时候下载本地显示。
初步打算 这么做了,就是不知道效率如何[/quote] 解决效率问题,图片上传时对文件进行相应的压缩,下载的时候可以先比较本地缓存的图片,没变化就取本地的显示,尽可能使用高速宽带。
回复 点赞
wzh2021 2016年05月31日
刚才查了一下 这个表,已经100多G了!
回复 点赞
向东流 2016年05月31日
引用 6 楼 wzh502887976 的回复:
[quote=引用 3 楼 blandwolf 的回复:] 用apache做个简单的HTTP服务器,放图片,在数据库里存图片地址,在pb里面读取图片地址显示图片。
http?效率低点了吧,扫描件体积很大的呀[/quote] 这个效率主要看网络的速度吧,我是内网用的,内网的话可以尝试下。
回复 点赞
WorldMobile 2016年05月31日
如果文件比较大的话,建议直接用文件方式来保存,不要存在数据库中,备份不方便,而且对数据库的性能影响较大,你可以采用FTP上传,然后用http文件来显示图片,Http的话可以用IIS或者Tomcat之类的,传输采用Http自带的gzip压缩,省的你去压缩和解压,我们的升级程序就是采用的这种方式,非常方便,如果不清楚,也可QQ交流,QQ号已经发站内短信给你了
回复 点赞
DYFDWX 2016年05月30日
使用FTP文件服务器来存取文件
回复 点赞
wzh2021 2016年05月30日
引用 3 楼 blandwolf 的回复:
用apache做个简单的HTTP服务器,放图片,在数据库里存图片地址,在pb里面读取图片地址显示图片。
http?效率低点了吧,扫描件体积很大的呀
回复 点赞
wzh2021 2016年05月30日
引用 2 楼 core0 的回复:
一般做法是不会把图片存到db里,尤其有一定查询量的。你可以考虑db里存放的是图片的下载路径,然后需要的时候下载本地显示。
初步打算 这么做了,就是不知道效率如何
回复 点赞
wzh2021 2016年05月30日
引用 1 楼 DYFDWX 的回复:
使用FTP文件服务器来存取文件
效率如何呀
回复 点赞
向东流 2016年05月30日
用apache做个简单的HTTP服务器,放图片,在数据库里存图片地址,在pb里面读取图片地址显示图片。
回复 点赞
core0 2016年05月30日
一般做法是不会把图片存到db里,尤其有一定查询量的。你可以考虑db里存放的是图片的下载路径,然后需要的时候下载本地显示。
回复 点赞
发动态
发帖子
PowerBuilder
创建于2007-09-28

591

社区成员

6.6w+

社区内容

PowerBuilder 相关问题讨论
社区公告
暂无公告