关于保存在SQL Server中的图片的读取!急!

duoduobaba 2004-09-18 12:02:58
一个C++开发的系统在SQLServer中用一个字段保存了视频的首帧的缩略图,我现在要用ASP读取这个图片但是不知道存储时使用什么方式以及存储的图片的格式.我尝试用response.BinaryWrite读取,ContentType把gif,jpeg,bmp都试了全部不行,我想可能是存储的时候用的是不同的方法,会不会是包扩了文件头信息的还是别的什么,请高手给个思路
...全文
287 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
duoduobaba 2004-09-30
  • 打赏
  • 举报
回复
终于解决了!十几天啊呜呜呜呜
duoduobaba 2004-09-30
  • 打赏
  • 举报
回复
cuixiping(无心) 请到下面的帖子上接分
http://community.csdn.net/Expert/topic/3420/3420211.xml?temp=.4314081
cuixiping 2004-09-29
  • 打赏
  • 举报
回复
Response.BinaryWrite ChrB(&HFF) & ChrB(&HFF) & ChrB(&HFF) & rs("img")
'上面这个就是加了三个二进制的FF
duoduobaba 2004-09-29
  • 打赏
  • 举报
回复
说白了现在问题变成了:如何把42 4D 88 00 00.........00 00这样的十六进制和从数据库中取出的二进制流连到一起用response.BinaryWrite输出

这两周被这个问题弄的晕死了,感觉现在已经变成一个低级问题了,可我脑子里乱得诠释FF 00,大家帮帮忙!结贴时我加分
duoduobaba 2004-09-29
  • 打赏
  • 举报
回复
因为保存的图形全部是75*60的32bit位图的RGB信息,通过增加一个相同的文件头已经可以正确显示图片了,现在就是想在asp读出图形数据把一个标准的文件头信息同读出的二进制流连在一起再用输出

说白了现在问题变成了:如何把42 4D 88 00 00.........00 00这样的十六进制和从数据库中取出的二进制流连到一起用response.BinaryWrite输出

关于如何把二进制流进行操作我一点思路也没有
duoduobaba 2004-09-29
  • 打赏
  • 举报
回复
现在剩下的就是cuixiping(无心)说的问题了,但是用Response.BinaryWrite ChrB(&HFF) & ChrB(&HFF) & ChrB(&HFF) & rs("img")行不通,到底该怎么把这个文件头加进来呢
pfc001 2004-09-29
  • 打赏
  • 举报
回复
把图片路径存到数据中
  • 打赏
  • 举报
回复
BMP文件是有大量冗于信息的,图形学的书倒是有不少,没怎么研究过
  • 打赏
  • 举报
回复
早晨我就看过你这个了,除非是看VC源码,而且你还不知道格式
即使你加上相应的如BMP头也不一定对
所以我没回答
duoduobaba 2004-09-29
  • 打赏
  • 举报
回复
aspczlover(执子之手...) 你在吗?
帮忙看看啦
mikespook 2004-09-29
  • 打赏
  • 举报
回复
我以前翻译过一篇BMP文件格式的文章,可惜找不到了~~~~基本上我记得是
BMP头+长宽信息+调色板信息+数据
现在你是有了数据,头是固定格式,长宽的话也应该是固定的,因为你存的是影片的第一桢(靠了,ABC输入法里没有zhen这个字?),调色板信息好象比较麻烦,但是也是固定格式,我记得好象能省略不过色彩上在不同的机器上可能会出现差异。数据一定要是倒序数据流。
pengxj2005 2004-09-29
  • 打赏
  • 举报
回复
有点意思
顶!
duoduobaba 2004-09-29
  • 打赏
  • 举报
回复
快顶不动了!兄弟们帮忙啊
duoduobaba 2004-09-28
  • 打赏
  • 举报
回复
mikespook(懒猫开始新生活) :

我是这么做的 把读出的数据存成一文件,然后用十六进制编辑器给文件加了bmp的文件头可以成功显示图片了,现在的问题是我怎么对这个读出的二进制流增加文件头,不了解对二进制流的操作,请了解的给点提示,链个有用的地址也好
Drowning 2004-09-28
  • 打赏
  • 举报
回复
Mark
mikespook 2004-09-28
  • 打赏
  • 举报
回复
那么你要用ASP构造一个BMP文件~~~
简单的说,从数据库中取出BUFFER,然后对这个BUFFER进行加工,加上BMP头,然后显示~~
duoduobaba 2004-09-28
  • 打赏
  • 举报
回复
最先就是这么试的,不行的
图形信息写入的时候是把一段视频的首帧的RGB信息写入到数据库里的
就是把一个buffer直接写进去,没有任何图形的文件头信息

不知道有没有通过增加文件头就能够让这些信息以bmp的方式显示的方法
请高手指点
明珠佩佩 2004-09-28
  • 打赏
  • 举报
回复
试试下面的呢?

set rec=server.createobject("ADODB.recordset")
strsql="select [字段] from [表名] where id= "& trim(request("id"))
rec.open strsql,conn,1,1
Response.ContentType = "image/*"
Response.BinaryWrite rec("img").getChunk(7500000)
rec.close
duoduobaba 2004-09-28
  • 打赏
  • 举报
回复
问题发生了变化,存在库里的图形保存的是一个75×60的图形的24bitRGB信息,感觉已经超出了ASP的范围,看这样必须弄一控件了,大家遇到这种情况会怎么做,说来听听

国庆结帖
duoduobaba 2004-09-20
  • 打赏
  • 举报
回复
试了还是不行,我想可能是存储的方式的问题,我在数据库SQL开发板块也留帖了,解决了分全给,不够还可以加
加载更多回复(9)
本课程根据讲师十多年在世界500强外企的生产环境SQL Serer数据库管理和项目实施经验倾心打造。课程系统性强,知识体系完整,覆盖90%以上的企业环境下SQL Server高可用场景,课程不仅演示详细的操作步骤,更加突出最常见的故障和问题,让学员少走“弯路”,不只是让学员学会“操作”更能让学员“操作”的规范,满满的干货分享,一些课程资料(架构图、部署规划表格等)不仅可以帮助学员掌握技能,也可以作为学员在企业生产环境实施SQL Server高可用的配置文档、操作手册等。课程的实验环境介绍:1)全部基于微软域环境和企业版SQL Server AOAG - 95%以上的企业环境都是在域环境,不介绍非域环境和标准版的SQL Server高可用性组,这的配置在企业较罕见,没有实践意义,不浪费学员时间。2)相应域环境已提前部署和配置好 - 学员导入虚拟机即可开始实验,无需从零开始搭建域环境,所有实验SQL Server均已加域,直入主题,节省大量时间。3)最新的Windows Server故障转移集群(WS2016、WS2019)和最新版本的SQL ServerSQL2017、SQL2019) -  WS2016-SQL2017与WS2019-SQL2019是目前大多数企业SQL Server高可用的主要平台,基于微软产品生命周期现在一些企业也在讲早期的AOAG向这两个版本迁移,掌握这两种组合不仅让学员学会,更能学有所用。本课程为后续SQL Server进阶课程铺垫,是通向SQL Server DBA 专家的必经之路,讲师每周答疑两次。所有课程资料包括:课程PPT、架构图、部署规划表格、各类脚本学员均可下载。     

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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