高手请帮帮忙 asp 从数据库中读出的图片不显示

时间:2022-03-18 20:02:51
数据库中有如下内容:
<p><IMG src="/jp4/upload/2009111121518378.jpg" border=1></p>

存在bContent字段中


用asp从数据库里读出,语句如下:
dim mvarbContent
set rs=server.CreateObject("adodb.recordset")
msql="select  * from Ay_Content where bId=" & request("id")
rs.open msql,conn,1,3

mvarbContent=Juncode(trim(rs("bContent")&""))

显示语句如下:
<%=mvarbContent%>

但结果只是换行  没有显示图片 也没有加载失败的标志  图片确实存在  

望各位高手帮帮忙  谢谢了 数据库用的是ACCESS  字段类型是MEMO

27 个解决方案

#1


Juncode()这个方法是干什么的?

#2


Function Juncode(byVal iStr)
if isnull(iStr) or isEmpty(iStr) then
  Juncode=""
  Exit function
end if
dim F,i,E

E=array("Jn0;","Jn1;","Jn2;","Jn3;","Jn4;","Jn5;","Jn6;","Jn7;","Jn8;","Jn9;","Jn10;","Jn11;","Jn12;","Jn13;","Jn14;","Jn15;","Jn16;","Jn17;","Jn18;","Jn19;","Jn20;","Jn21;","Jn22;","Jn23;","Jn24;","Jn25;")
  F=array(chrw(12468),chrw(12460),chrw(12462),chrw(12464),_
    chrw(12466),chrw(12470),chrw(12472),chrw(12474),_
    chrw(12485),chrw(12487),chrw(12489),chrw(12509),_
    chrw(12505),chrw(12503),chrw(12499),chrw(12497),_
    chrw(12532),chrw(12508),chrw(12506),chrw(12502),_
    chrw(12500),chrw(12496),chrw(12482),chrw(12480),_
    chrw(12478),chrw(12476))
  Juncode=iStr
for i=0 to 25
  Juncode=replace(Juncode,E(i),F(i))'□
next
End Function

把这个函数去掉后结果也是一样  完全没有变化

#3


看看页面上图片的链接是什么?

#4



response.write rs("bContent")
看看

#5


response.write rs("bContent")
看下这个输出的内容是什么?

#6


引用 4 楼 gxq323 的回复:
C# code
response.write rs("bContent")看看


还是没用  
我将<IMG src="/jp4/upload/2009111121518378.jpg" border=1>中的图片去掉
<IMG src="" border=1>    
这样能显示图片加载失败的标志

#7


先把Juncode那个给去掉调试下 如果没问题 就是你的那个Juncode函数导致的 应该没问题的

#8


引用 7 楼 go786 的回复:
先把Juncode那个给去掉调试下 如果没问题 就是你的那个Juncode函数导致的 应该没问题的



我去掉试过了   还是不行  和不去掉一样的效果

#9


??????????

#10


你的这个字段里面放的是二进制的图片数据。你这样读出来的不是二进制的数据格式肯定不显示 。有需帮助联系我QQ:94194930

#11


你不有用trim修剪空格
好像那个过滤函数有点问题

#12


引用 11 楼 yan_xiang_fu 的回复:
你不有用trim修剪空格
 好像那个过滤函数有点问题


把trim去掉之后还是不能显示图片

#13


查看生成的html代码,img标记有没有错误。

#14


你直接在页面中输入
<IMG src="/jp4/upload/2009111121518378.jpg" border=1>
看看能不能显示,如果不能显示说明你的路径或者文件名根本不对

#15


同意楼上的
直接在HTML里做测试

要是不行
1 路径或者文件名错了
2 DB的数据有问题

#16


顺便说一下,没事别用select *,需要哪个字段选上就是了,能提高读取速度.显示图片的话用
<IMG src="<%=rs("bContent")%> " border=1>

#17


引用 13 楼 falloutyoyo 的回复:
查看生成的html代码,img标记有没有错误。


没有错误,我还发现一个新的东西,就是如果路径写的是正确的话什么也不显示,如果写的是错误的话显示加载失败的标志。

#18


引用 15 楼 apolloye 的回复:
同意楼上的
 直接在HTML里做测试

 要是不行
 1 路径或者文件名错了
 2 DB的数据有问题


做过了,路径没有问题。

#19


引用 16 楼 sniper1860 的回复:
顺便说一下,没事别用select *,需要哪个字段选上就是了,能提高读取速度.显示图片的话用
  <IMG src=" <%=rs("bContent")%> " border=1>


bContent里面存的不是一张图片的路径,而是一篇文章的所有内容。

#20


引用楼主 gaoyongyi 的回复:
数据库中有如下内容:
<p> <IMG src="/jp4/upload/2009111121518378.jpg" border=1> </p>

存在bContent字段中


用asp从数据库里读出,语句如下:
dim mvarbContent
set rs=server.CreateObject("adodb.recordset")
msql="select  * from Ay_Content where bId=" & request("id")
rs.open msql,conn,1,3

mvarbContent=Juncode(trim(rs("bContent")&""))

显示语句如下:
<%=mvarbContent%>

但结果只是换行  没有显示图片 也没有加载失败的标志  图片确实存在 

望各位高手帮帮忙  谢谢了  数据库用的是ACCESS  字段类型是MEMO

放图片路径的字段类型是MEMO?为什么用MEMO?应该改成文本型

#21


引用 20 楼 lzp4881 的回复:
 放图片路径的字段类型是MEMO?为什么用MEMO?应该改成文本型


这个字段放的不是图片路径,而是一篇文章,这其实是一个新闻发布系统发布文章时的东西,用的在线编辑器是ewebeditor,我贴出来的东西是发布文章的时候插入数据库的。

#22


没记错的话,asp默认是没trim()的

#23


不要用select  * from 

select 字段1,字段2,....备注字段 from 备注字段要放在最后面
试试

#24


引用 23 楼 lzp4881 的回复:
不要用select  * from
 用
 select 字段1,字段2,....备注字段 from 备注字段要放在最后面
 试试


这个备注字段具体指的是什么

#25


引用 22 楼 wushaokai 的回复:
没记错的话,asp默认是没trim()的


这个函数在这是没有影响的,去不去掉结果一样

#26


分别试一下这两个路径:

<IMG src="./jp4/upload/2009111121518378.jpg" border=1>
<IMG src="../jp4/upload/2009111121518378.jpg" border=1>

#27


引用 26 楼 sixth_sense_ 的回复:
分别试一下这两个路径:

  <IMG src="./jp4/upload/2009111121518378.jpg" border=1>
  <IMG src="../jp4/upload/2009111121518378.jpg" border=1>


这个问题绝对不是路径出错,我用绝对路径试过了,请看17楼的帖子

#1


Juncode()这个方法是干什么的?

#2


Function Juncode(byVal iStr)
if isnull(iStr) or isEmpty(iStr) then
  Juncode=""
  Exit function
end if
dim F,i,E

E=array("Jn0;","Jn1;","Jn2;","Jn3;","Jn4;","Jn5;","Jn6;","Jn7;","Jn8;","Jn9;","Jn10;","Jn11;","Jn12;","Jn13;","Jn14;","Jn15;","Jn16;","Jn17;","Jn18;","Jn19;","Jn20;","Jn21;","Jn22;","Jn23;","Jn24;","Jn25;")
  F=array(chrw(12468),chrw(12460),chrw(12462),chrw(12464),_
    chrw(12466),chrw(12470),chrw(12472),chrw(12474),_
    chrw(12485),chrw(12487),chrw(12489),chrw(12509),_
    chrw(12505),chrw(12503),chrw(12499),chrw(12497),_
    chrw(12532),chrw(12508),chrw(12506),chrw(12502),_
    chrw(12500),chrw(12496),chrw(12482),chrw(12480),_
    chrw(12478),chrw(12476))
  Juncode=iStr
for i=0 to 25
  Juncode=replace(Juncode,E(i),F(i))'□
next
End Function

把这个函数去掉后结果也是一样  完全没有变化

#3


看看页面上图片的链接是什么?

#4



response.write rs("bContent")
看看

#5


response.write rs("bContent")
看下这个输出的内容是什么?

#6


引用 4 楼 gxq323 的回复:
C# code
response.write rs("bContent")看看


还是没用  
我将<IMG src="/jp4/upload/2009111121518378.jpg" border=1>中的图片去掉
<IMG src="" border=1>    
这样能显示图片加载失败的标志

#7


先把Juncode那个给去掉调试下 如果没问题 就是你的那个Juncode函数导致的 应该没问题的

#8


引用 7 楼 go786 的回复:
先把Juncode那个给去掉调试下 如果没问题 就是你的那个Juncode函数导致的 应该没问题的



我去掉试过了   还是不行  和不去掉一样的效果

#9


??????????

#10


你的这个字段里面放的是二进制的图片数据。你这样读出来的不是二进制的数据格式肯定不显示 。有需帮助联系我QQ:94194930

#11


你不有用trim修剪空格
好像那个过滤函数有点问题

#12


引用 11 楼 yan_xiang_fu 的回复:
你不有用trim修剪空格
 好像那个过滤函数有点问题


把trim去掉之后还是不能显示图片

#13


查看生成的html代码,img标记有没有错误。

#14


你直接在页面中输入
<IMG src="/jp4/upload/2009111121518378.jpg" border=1>
看看能不能显示,如果不能显示说明你的路径或者文件名根本不对

#15


同意楼上的
直接在HTML里做测试

要是不行
1 路径或者文件名错了
2 DB的数据有问题

#16


顺便说一下,没事别用select *,需要哪个字段选上就是了,能提高读取速度.显示图片的话用
<IMG src="<%=rs("bContent")%> " border=1>

#17


引用 13 楼 falloutyoyo 的回复:
查看生成的html代码,img标记有没有错误。


没有错误,我还发现一个新的东西,就是如果路径写的是正确的话什么也不显示,如果写的是错误的话显示加载失败的标志。

#18


引用 15 楼 apolloye 的回复:
同意楼上的
 直接在HTML里做测试

 要是不行
 1 路径或者文件名错了
 2 DB的数据有问题


做过了,路径没有问题。

#19


引用 16 楼 sniper1860 的回复:
顺便说一下,没事别用select *,需要哪个字段选上就是了,能提高读取速度.显示图片的话用
  <IMG src=" <%=rs("bContent")%> " border=1>


bContent里面存的不是一张图片的路径,而是一篇文章的所有内容。

#20


引用楼主 gaoyongyi 的回复:
数据库中有如下内容:
<p> <IMG src="/jp4/upload/2009111121518378.jpg" border=1> </p>

存在bContent字段中


用asp从数据库里读出,语句如下:
dim mvarbContent
set rs=server.CreateObject("adodb.recordset")
msql="select  * from Ay_Content where bId=" & request("id")
rs.open msql,conn,1,3

mvarbContent=Juncode(trim(rs("bContent")&""))

显示语句如下:
<%=mvarbContent%>

但结果只是换行  没有显示图片 也没有加载失败的标志  图片确实存在 

望各位高手帮帮忙  谢谢了  数据库用的是ACCESS  字段类型是MEMO

放图片路径的字段类型是MEMO?为什么用MEMO?应该改成文本型

#21


引用 20 楼 lzp4881 的回复:
 放图片路径的字段类型是MEMO?为什么用MEMO?应该改成文本型


这个字段放的不是图片路径,而是一篇文章,这其实是一个新闻发布系统发布文章时的东西,用的在线编辑器是ewebeditor,我贴出来的东西是发布文章的时候插入数据库的。

#22


没记错的话,asp默认是没trim()的

#23


不要用select  * from 

select 字段1,字段2,....备注字段 from 备注字段要放在最后面
试试

#24


引用 23 楼 lzp4881 的回复:
不要用select  * from
 用
 select 字段1,字段2,....备注字段 from 备注字段要放在最后面
 试试


这个备注字段具体指的是什么

#25


引用 22 楼 wushaokai 的回复:
没记错的话,asp默认是没trim()的


这个函数在这是没有影响的,去不去掉结果一样

#26


分别试一下这两个路径:

<IMG src="./jp4/upload/2009111121518378.jpg" border=1>
<IMG src="../jp4/upload/2009111121518378.jpg" border=1>

#27


引用 26 楼 sixth_sense_ 的回复:
分别试一下这两个路径:

  <IMG src="./jp4/upload/2009111121518378.jpg" border=1>
  <IMG src="../jp4/upload/2009111121518378.jpg" border=1>


这个问题绝对不是路径出错,我用绝对路径试过了,请看17楼的帖子