| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 683 人关注过本帖
标题:ASP不能上传到SQL SERVER2000的图片,只能显示一片空白。请高手指点下!
只看楼主 加入收藏
巴人
Rank: 2
等 级:论坛游民
帖 子:75
专家分:60
注 册:2007-9-16
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:7 
ASP不能上传到SQL SERVER2000的图片,只能显示一片空白。请高手指点下!
我用的是windows 2003操作系统和sql server 2000数据库,相关代码如下
上传网页(upload.asp)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title></title>
</head>
<body leftmargin="0" topmargin="0">
<form name="upform" method="post" action="test_image.asp" enctype="multipart/form-data" >
<input type="hidden" name="act" value="upload">
<input type="hidden" name="filepath" value="images">
<table width="100%" border="0" cellspacing="0" bordercolordark="#CCCCCC" bordercolorlight="#000000">
<tr>
<td >
<p style="margin-top: 0; margin-bottom: 0" align="center"> </p>
<p style="margin-top: 0; margin-bottom: 0" align="center">
<font size="5" color="#0000FF">上传界面</font></p>
<p style="margin-top: 0; margin-bottom: 0" align="center">文件上传
<input type="file" name="filename" style="width:229; height:23"  class="tx1" value="">

<input type="submit" name="Submit" value="提 交" class="tx">
</p>
<p style="margin-top: 0; margin-bottom: 0" align="center">

</td>
</tr>
</table>
</form>
</body>
</html>
存放图像的网页(test_image.asp)
<!--#include file=conn.asp-->
<%
Dim binSize,binData,binImage
binSize=Request.TotalBytes    '表单上传数据的二制进大小   
binData=Request.BinaryRead(binSize)    '从表单中获取二进制数据   

vCrLf=ChrB(13) & ChrB(10)
divider=LeftB(binData,InStrB(binData,vCrLf)-1)   
dataStart=InStrB(binData,vCrLf & vCrLf)+4   
dataEnd=InStrB(datastart+1,binData,divider)-datastart   

binImage=MidB(binData,dataStart,dataEnd)    '获取图像部分
Set rs=server.CreateObject("ADODB.Recordset")   
strsql="select * from photo where id is null"   
rs.Open strsql,conn,1,3   
rs.AddNew
rs("images").appendchunk binImage   
rs.Update   
rs.Close   
%>   
photo_image.asp读取图片网页
<!--#include file=conn.asp-->
<%
    Response.Expires = 0
  Response.buffer=True
  Response.clear

    Dim rs,strsql
    Response.ContentType="image/*"
    Set rs=server.createobject("ADODB.Recordset")
    strsql="select * from photo where id=" & Request.QueryString("ID")
    rs.open strsql,conn,1,1
    fsize=rs("images").actualsize
    'Response.BinaryWrite rs("image").GetChunk(7500000)
    Response.BinaryWrite rs("images").GetChunk(fsize)
    rs.Close
    Set rs=nothing
    Set conn=nothing
%>
请高手指点下!
显示图片网页(show_image.asp)
<!--#include file=conn.asp-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.
<html>
<head>
<meta http-equiv="Content-Type" content="image/*; charset=gb2312">
<title>显示数据库中的图片</title>
</head>

<body>
<%
Dim rs,strsql
Set rs=Server.CreateObject("ADODB.Recordset")
strsql="select * from photo"
rs.Open strsql,conn,1,1
%>
<table width="80%" border="1" align="center">
<%Do While Not rs.EOF %>
  <tr>
  <td width="100">图片标题</td>
  <td><%=rs("id")%></td>
  </tr>
  <tr>
  <td>图片</td>
  <td><%response.Write("aaaaaaaaaaaa")%></td>
  <td><img src=photo_image.asp?id=<%=rs("id")%>></td>
  </tr>
<%rs.movenext
Loop
rs.close
set rs=nothing
%>
</table>
</body>
</html>
请高手指点下
搜索更多相关主题的帖子: SQL 空白 ASP 
2010-11-30 10:50
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:4 
是不能上传还是不能显示

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-11-30 11:01
巴人
Rank: 2
等 级:论坛游民
帖 子:75
专家分:60
注 册:2007-9-16
收藏
得分:0 
不太清楚,能在sql server 2000中看到上传的二进制(可能是图片的),但就是不能显示出图片出来,只有一片空白。
2010-11-30 11:05
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
收藏
得分:0 
那就重点看显示部分的代码

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-11-30 14:31
巴人
Rank: 2
等 级:论坛游民
帖 子:75
专家分:60
注 册:2007-9-16
收藏
得分:0 
现在是上传的图片数据是二进制,能存放在sql server 2000中。就是不知道这部分数据是不是图片的。并且不能显示出来。存放图像的网页(test_image.asp)
<!--#include file=conn.asp-->
<%
Dim binSize,binData,binImage
binSize=Request.TotalBytes    '表单上传数据的二制进大小   
binData=Request.BinaryRead(binSize)    '从表单中获取二进制数据   

vCrLf=ChrB(13) & ChrB(10)
divider=LeftB(binData,InStrB(binData,vCrLf)-1)   
dataStart=InStrB(binData,vCrLf & vCrLf)+4   
dataEnd=InStrB(datastart+1,binData,divider)-datastart   

binImage=MidB(binData,dataStart,dataEnd)    '获取图像部分
Set rs=server.CreateObject("ADODB.Recordset")   
strsql="select * from photo where id is null"   
rs.Open strsql,conn,1,3   
rs.AddNew
rs("images").appendchunk binImage   
rs.Update   
rs.Close   
%>   
2010-11-30 22:02
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:4 
这个和数据库没有关系的,楼主可以尝试
respinse.write rs("images")
看看得到的是什么,再判断此路径下是否有图片存在,数据库的类型应该不是问题。
2010-12-01 00:53
巴人
Rank: 2
等 级:论坛游民
帖 子:75
专家分:60
注 册:2007-9-16
收藏
得分:0 
问题找到了
多了<input type="hidden" name="act" value="upload">
<input type="hidden" name="filepath" value="images">
2010-12-01 20:30
巴人
Rank: 2
等 级:论坛游民
帖 子:75
专家分:60
注 册:2007-9-16
收藏
得分:0 
谢谢大家的关注!
2010-12-01 20:31
快速回复:ASP不能上传到SQL SERVER2000的图片,只能显示一片空白。请高手指点下 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018199 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved