用纯ASP代码实现图片上传并存入sqi数据库中 ,但无法读出...... 

yzflying 2001-04-24 07:35:00
加精
图片上传部门正常,读出部分的代码如下;
<html>
<head>
<title>无标题文档</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%

set conn=server.CreateObject("ADODB.connection")

connstr="provider=sqloledb;user id=*******;password=*******;initial catalog=******;data source=*******"

conn.Open connstr

set rec=server.createobject("ADODB.recordset")

strsql="select img from pic where id "&trim(request("id"))

rec.open strsql,conn,1,3

Response.ContentType = "image/*"

Response.BinaryWrite

rec("img").getChunk(7500000)

rec.close

set rec=nothing

set conn=nothing

%>

</body>
</html>
...全文
230 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hp1200 2001-07-29
  • 打赏
  • 举报
回复
up
yzflying 2001-04-26
  • 打赏
  • 举报
回复
谢谢!friends
friends 2001-04-25
  • 打赏
  • 举报
回复
你先把文件中的html标记都去掉
然后在代码的开头加上一行Response.Clear (假定这个文件名是disimg.asp)
然后新建一个文件,在这个文件中加入<img src=disimg.asp>就可以显示图片了
这样做的原因是Content-Type属性,是在整个文件内有效,且只能设定一次(如果在一个文件内设定多次,以最后一次为准)
如果在Response.BinaryWrite之前有头信息输出,那么浏览器接收到的用Response.BinaryWrite方法传来的数据就不完全是图片数据了
所有你应该单独使用一个文件输出图片,然后在令一个文件中<img src=disimg.asp>显示图片
还有,图片文件都是有格式的,其格式信息(如文件大小、压缩率等)一般位于文件头,如果你在输出图片时用Response.BinaryWrite方法把其它冗余数据与图片数据一起输出,浏览器将无法定位图片,当然就会出现乱码了。
tripofdream 2001-04-25
  • 打赏
  • 举报
回复
可能读进去的有冗余数据。
yzflying 2001-04-25
  • 打赏
  • 举报
回复
现在我可以读出其中内容,但不是图片,都是乱码,我的sql库中存贮图片字段的类型是image,是哪个地方出错了?望高手指导。
locket 2001-04-25
  • 打赏
  • 举报
回复
1.你先response.write strsql是否正确
2.把<% %>内的代码放在一个disimg.asp中用<img src=disimg.asp>显示
3.可能是id值没有传递过来的缘故,可以用session()

28,406

社区成员

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

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