救命:如何输出二进制图片文件?高分相送

虚拟过客 2003-08-19 03:58:37
我用的是无组件上传的,把图片保存到access数据库,类型二进制,字段类型ole,请问怎么样输出来啊?就是显示在浏览器,下面的代码显示的是乱码:
sql="select * from sheshi "
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,3'读出图片信息
do while not rs.EOF
Response.ContentType = "image/gif"
Response.BinaryWrite(rs("photofile")) '将图片信息写入浏览器
rs.MoveNext
loop
rs.close
...全文
54 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
luluso 2003-08-19
  • 打赏
  • 举报
回复
a.htm
<HTML>
<HEAD>
<TITLE>图片显示</TITLE>
</HEAD>
<BODY>
<img src='GetImg2.asp?pub_id=14' width=20% height=30%>
</BODY>
</HTML>

GETIMG2.asp
<script Language="VBScript" RunAt="Server">
Dim strContent, intBytes
Sub Display_image()
Dim SQLstr, adocon, rs1, uid
uid = CInt(Request.QueryString("pub_id"))
SQLstr = "select * from myimages where id=" & uid
If IsObject(Session("myconn")) Then
adocon = Session("myconn")
Else
set adocon=Server.CreateObject("ADODB.Connection")
adocon.Open "Driver={Microsoft Access Driver (*.mdb)}; " & _
"DBQ=" & Server.MapPath("aspupload.mdb")
Session("myconn") = adocon
End If
set rs1 = adocon.Execute(SQLstr)
GetImageType Trim(rs1("imgtype")), rs1("image_blob")
Response.Expires = 0
Response.Buffer = True
Response.Clear
Response.ContentType = strContent
Response.BinaryWrite intBytes
rs1.Close: Set rs1 = Nothing
Response.End
End Sub

Sub GetImageType (ctype, fldImg)
Dim intFldSize, objOle, realSize
Const cntHeader = 76
Select case LCase(ctype)
Case "ole":
ctype = "image/bmp"
intFldSize = fldImg.ActualSize
objOle = fldImg.GetChunk(cntHeader)
realSize = fldImg.GetChunk(intFldSize - cntHeader)
Case "bmp", "gif", "jpeg":
ctype = "image/" & ctype
realSize = fldImg.Value
End Select
strContent = ctype
intBytes = realSize
End Sub
</script>
<%
Display_image
%>
数据库表名:myimages
imgtype:为保存图片的类型.如.jpg.bmp.gif等
image_blob:字段为二进制.保存图片.

db1x2y3z 2003-08-19
  • 打赏
  • 举报
回复
<%
set connGraph=server.CreateObject("ADODB.connection")
connGraph.ConnectionString="driver={Microsoft Access Driver (*.mdb)};DBQ=" &server.MapPath("images.mdb") & ";uid=;PWD=;"
connGraph.Open
set rec=server.createobject("ADODB.recordset")
strsql="select img from img where idid='" &Request.QueryString("idid")& "'"
rec.open strsql,connGraph,1,1
Response.ContentType = "img/*"
Response.BinaryWrite rec("img").getChunk(7500000)
rec.close
set rec=nothing
set connGraph=nothing
%>
虚拟过客 2003-08-19
  • 打赏
  • 举报
回复
过奖
lions911 2003-08-19
  • 打赏
  • 举报
回复
<img src="<%=readimage.asp?id=xx%>">
gancen 2003-08-19
  • 打赏
  • 举报
回复
老兄啊刚学看来你一定很利害噢

28,390

社区成员

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

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