收录日期:2020/02/20 19:07:09 时间:2016/05/27 16:35:10 标签:ASP
如何把数据库里的image字段里的内容根据扩展名还原显示?

表:“Demo”
字段:value 类型 image

     type   类型 char(5)

数据:value(二进制文件)   type(扩展名为 "DOC")
      value(二进制文件)   type(扩展名为 "jpg")

      等……
字段里的二进制内容根据扩展名还原显示在IE页面里谢谢。
请解答一下谢谢~!
在将该二进制流存放到image类型的同时,也保存该文档的一些属性。如文件名称、文件大小。没有见过从二进制流里头还原出该文件原来的属性。
没自己用过,不过用delphi使过
ASP的话参照动网论坛的阳光短信广告就可以了
不需要组件如何把图片上传到数据库中并显示出来?

代码: 
upload.htm
' 上传页面
<html> 
<body> 
<center> 
<!--以下 form 中的 enctype="multipart/form-data" 是得到数据的关键-->
   <form name="mainform" enctype="multipart/form-data" action="get.asp" method=post> 
   <input type=file name=mefile><br> 
   <input type=submit name=ok value="上传"> 
   </form> 
</center> 
</body> 
</html> 

get.asp
' 处理浏览器中送来的数据
<% 
response.buffer=true
formsize=request.totalbytes 
formdata=request.binaryread(formsize) 
bncrlf=chrb(13) & chrb(10) 
divider=leftb(formdata,clng(instrb(formdata,bncrlf))-1) 
datastart=instrb(formdata,bncrlf & bncrlf)+4 
dataend=instrb(datastart+1,formdata,divider)-datastart 
mydata=midb(formdata,datastart,dataend) 

set conn=server.createobject("adodb.connection") 
conn.connectionstring="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("images.mdb")
conn.open 

set rs=server.createobject("adodb.recordset") 
rs.open "select * from [images] where id is null",conn,1,3 
rs.addnew 
rs("img").appendchunk mydata 
rs.update 
rs.close 
set rs=nothing 
set conn=nothing 
%>

showimg.asp
' 显示图片
<% 
set conn=server.createobject("adodb.connection") 
conn.connectionstring="driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("images.mdb")
conn.open 
set rs=server.createobject("adodb.recordset") 
strsql="select img from images where id=" & trim(request("id")) 
rs.open strsql,conn,1,1 
response.contenttype = "image/*" 
' 在输出到浏览器之前一定要指定response.contenttype = "image/*",以便正常显示图片
response.binarywrite rec("img").getchunk(7500000) 
rs.close 
set rs=nothing 
set conn=nothing 
%> 

数据库结构如下: 
Access:
序号   字段名称 类  型        描  述
1   id     自动编号        主键值
2   img     ole对象        用来保存图片数据
        
MS Sql Server:
序号   字段名称 类  型         描  述
1   id    int(identity) 主键值
2   img    image          用来保存图片数据


有没有长沙的兄弟,帮忙提供点信息。 eclipse 如何使用Logger 团购『SD2C软件开发大会』门票第二波(活动已结束) 又是进制转换的问题 如何通过捕获键盘,然后与输入法通信,以输入中文 Tab 控件的问题... 帮忙组装台电脑 求助 确定名字的多个同名进程 枚举的代码 如何修改单文档程序菜单栏背景和高度 如何access建表存储树形结构 asp.net怎么实现这种效果啊 英语不好,学计算机语言行吗? 如何建表存储3层或以上的树啊 请教:宏、常量、枚举的相同点和不同点 关于资源字典里面的模板定义中的额外属性如何使的问题。。见红字 ---------------------菜鸟----java--IO--谢谢各位了。。 请高手解决,万分感谢! 不行啦,路径问题解决不了了 #include的布局问题 高分求助修改ie6下position:fixed。 delphi前台,java后台的具体实现方式. 如何将sqlserver数据库转为derby数据库 help,FEDORA13下找不到stdio.h 用MySQL存储过程分割字符串 Mysql修改默认编码linux 失败 自动填表程序判断网页checkbox是否被选中 flash下雨效果怎么只有一点 新手提问:写的文件过滤驱动程序,不支持中文,对于访问文件名带中文的文件就报错,怎么办。有没有人帮一下。 有没有可能通过替换相同函数名称的ocx,改变程序的功能 能否通过替换相同函数名称的ocx,改变程序的功能