我正在创建一个主页并有一个新闻栏目。目前,新闻部分显示了存储在其中的数据库中的前3个新闻标题/标题。所有者现在想要的是,应该在与该新闻文章相关的新闻标题旁边显示图像。所以我已经建立了一个功能,通过他们将图像上传到他们刚刚创建/上传到数据库的文章的新闻数据库,现在我想要做的就是显示保存在数据库中的这个图像。有没有办法做到这一点?
我正在使用经典的asp和html / javascript。
到目前为止,我的代码是:
<img id="news_image2" alt="<%=rsNews("Image_Name")%>" border="0" height="70" name="Image" src="<%=rsNews("news_Image")%>" title="Echo_Images" width="80" align="middle" /> </a>
非常感谢
EDIT。在主页上是rsnews.asp
<%@ language="VBSCRIPT" codepage="1252" %>
<!-- #include file="Connections/echo.asp" -->
<%
Dim rsNews
Dim rsNews_numRows
Set rsNews = Server.CreateObject("ADODB.Recordset")
rsNews.ActiveConnection = MM_echo_STRING
rsNews.Source = "SELECT top 3 News_Article_ID,News_Article_Create_Date,News_Txt_Date,News_Title,News_Publish_Date,News_Expiry_Date,News_Title_Header,News_Active,Admin_ID,News_Ticker,display,Image_Name,displayCode,news_Image FROM tblNews WHERE News_Active = 1 AND News_Expiry_Date >= getDate() AND (display = 'ext' OR display = 'both'OR displayCode=1 OR displayCode=4 OR displayCode=5 OR displayCode=7) ORDER BY News_TXT_Date DESC"
rsNews.CursorType = 0
rsNews.CursorLocation = 2
rsNews.LockType = 1
rsNews.Open()
rsNews_numRows = 0
%>
<div id="news-home-container">
<!--news item 1-->
<div>
<div class="news-home-image">
<a href="about/echo_news.aspx?id=0">
<img id="news_image2" alt="LatestNews" border="0" height="70" name="logo_link0" src="image_display.asp?PhotoID=627" title="Echo_Images" width="80" align="middle" /></a> </div>
<div class="newsDiv">
<a href="about/echo_news.aspx?id=0" ><b style="line-height:1.3em"><%=rsNews("News_Title")%></b>
<p><%=rsNews("News_Title_Header")%></p></a>
</div>
</div>
<!--End of news item 1-->
现在我需要保存到数据库中前三篇文章的图像才能显示。
这是image_display.asp
中的代码 <!-- #include file="Connections/echo.asp" -->
<%
Dim sql
Dim rs
Dim conn
Dim userID,str
userID = Request("PhotoId")
If userID = "" Then userID = 0
'Instantiate Objects
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
'Open connection
'rsNews.ActiveConnection = MM_echo_STRING 'conn =取消注释此行并在此处插入您的连接字符串 '根据查询字符串中传递的ID获取特定图像 str =“SELECT news_Image FROM tblNews WHERE news_article_id =”&amp;用户身份 rs.Open str,conn,3,3 如果rs.eof然后'没有找到记录 到Response.End 否则'显示内容 Response.ContentType =“image / gif” Response.BinaryWrite(RS( “news_Image”)) 结束如果
'destroy the variables.
rs.Close
conn.Close
set rs = Nothing
set conn = Nothing
%>
答案 0 :(得分:1)
img src="Image_Display.asp?news_Article_iD=<%=rsnews("News_article_id")%>"
很多人帮助你们每个人
答案 1 :(得分:0)
好的,根据你的评论你需要创建一个新的asp页面,我们称之为getImage.asp。
您可以在HTML中引用图片,如下所示:
<img src="getImage.asp?ID=<%=rsNews("Image_ID") %>">
其中getImage.asp是这样的(注意使用response.BinaryWrite:
Dim ImageID
ImageID = request.querystring("ID")
Set rs = db.Execute("SELECT ImageBlob FROM table WHERE ID = " & ImageID)
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear
Response.ContentType = "image/jpeg" '#### Assuming your images are jpegs
Response.BinaryWrite rs("ImageBlob")
答案 2 :(得分:0)
heavencore的答案是对的 你只需要检查你是否是二进制写作正确的事情 所以检查你是否将正确的id传递给页面,然后检查它是否响应.binarywrite rs(“ImageBlob”) - imageblob是将图像保存为二进制数据的字段
看到你的评论后编辑:
我刚看了你的源代码 -
你这行代码是
<img id="news_image2" alt="LatestNews" border="0" height="70" name="logo_link0" src="images/News_images/default image.jpg" title="Echo_Images" width="80" align="middle" />
您需要将其替换为 -
<img id="news_image2" alt="LatestNews" border="0" height="70" name="logo_link0" src="somefile.asp?ID=2" title="Echo_Images" width="80" align="middle" />
所以你只需将src =“”更改为src =“somefile.asp?id = 2”
然后在somefile.asp中输入此代码 -
Dim ImageID
ImageID = request.querystring("ID")
Set rs = db.Execute("SELECT ImageBlob FROM table WHERE ID = " & ImageID)
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear
Response.ContentType = "image/jpeg" '#### Assuming your images are jpegs
Response.BinaryWrite rs("ImageBlob")
这有帮助吗?