文本、图片无法一起显示,菜鸟求助!!!

gaq123456 2013-01-27 03:01:27
一、设计数据库testimg.mdb
为方便调试,设计表imgurl,其中两个字段:id(自动编号、关键字)、img(OLE 对象)

二、连接数据库文件conn.asp

三、提供上传图片的表单页面upload.html

四、接受数据并添加记录页upload.asp

五、提取数据库表中图片字段内容以做显示图片页showimg.asp

六、显示图片的index.asp

问题所在:图片可以显示,但是文本内容无法显示,不知道哪里出了问题。

1、conn.asp
<%
db_path="testimg.mdb"
set conn=server.CreateObject("ADODB.connection")
connstr="driver={Microsoft Access Driver (*.mdb)};dbq="&server.MapPath(db_path)
conn.open connstr
%>

2、upload.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>

<form name="form1" form action="upload.asp" method="post" enctype="multipart/form-data">
<p>
<input type="file" name="imgurl">
<input type="submit" name=ok value="ok">
</p>
<label>姓名
<input name="name" type="text" id="name" />
</label>

<label><br />
<br />
性别
<input name="sex" type="text" id="sex" />
</label>

<label><br />
<br />
部门
<input name="depart" type="text" id="depart" />
</label>

</form>

<p> </p>
</body>
</html>

3、upload.asp
<!--#include file="conn.asp"-->
<%
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 rs=server.createobject("ADODB.recordset")

rs.open "SELECT * FROM imgurl",conn,1,3
rs.addnew
rs("img").AppendChunk myData
rs("name")=request("name")
rs("sex")=request("sex")
rs("depart")=request("depart")
rs.update
rs.close
set rs=nothing
set conn=nothing
response.redirect "index.asp"
%>

4.showimg.asp
<!--#include file="conn.asp"-->
<%
set rs=server.createobject("ADODB.recordset")
sql="select * from imgurl where id="&trim(request("id"))
rs.open sql,conn,1,1
Response.ContentType="image/*"
Response.BinaryWrite rs("img").getChunk(8000000)
Response.Write(rs("name"))
Response.Write(rs("sex"))
Response.Write(rs("depart"))
rs.close
set rs=nothing
set conn=nothing
%>


5、index.asp
<!--#include file="conn.asp"-->
<%
strsql="select * from imgurl"
set rs=server.createobject("ADODB.recordset")
rs.open strsql,conn,1,1
do until rs.eof
whatid=rs("id")


%>
<img src="showimg.asp?id=<%=whatid%>">
<%=rs("name")%>
<%=rs("sex")%>
<%=rs("depart")%>

<%
rs.movenext
loop
%>
...全文
69 1 点赞 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
formdata=request.binaryread(formsize) binaryread后再调用request获取form中的内容就为空了,当然保存不了,你可以使用第三方的组件收集表单中的文件和输入项,通过组件来获取文件内容和表单输入项 参考:无惧上传类库
  • 打赏
  • 举报
回复
相关推荐
发帖
ASP
加入

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2013-01-27 03:01
社区公告
暂无公告