2012-03-30 99 views
0

我正在創建一個主頁並有一個新聞部分。目前新聞部分顯示了他們存儲在數據庫中的前3個新聞標題/標題。現在,所有者想要的是應該在與新聞文章相關的新聞標題旁邊顯示圖片。所以我建立了一個功能,通過他們將圖片上傳到新聞數據庫,反對他們剛創建/上傳到數據庫的文章,現在我想要做的就是顯示保存在數據庫中的這張圖片。有沒有辦法做到這一點?以傳統的asp顯示來自sql數據庫的圖像

我使用的是經典的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> 

非常感謝

編輯。這是rsnews homepage.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--> 

現在我需要的圖像保存到數據庫中的前3篇文章中顯示。

這是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 」康恩=取消註釋這行代碼,並在此處插入您的連接字符串 「獲得根據傳入的ID具體形象查詢字符串 海峽= 「SELECT news_Image FROM tblNews WHERE news_article_id =」 &用戶ID rs.Open海峽,康涅狄格州,3,3 如果RS.EOF那麼「找不到記錄 到Response.End 別人的顯示內容 Response.ContentType = 「圖像/ GIF」 Response.BinaryWrite(RS( 「news_Image」)) 結束時,如果

'destroy the variables. 
    rs.Close 
    conn.Close 
    set rs = Nothing 
    set conn = Nothing 
%> 
+0

MS SQL,MySQL和甲骨文?你在數據庫中存儲圖像的路徑嗎?或圖像本身的二進制(blob)? – HeavenCore 2012-03-30 12:43:12

+0

HeavenCore是MS SQL,它被存儲爲二進制 – Reidy0588 2012-03-30 12:48:06

+0

你是否將它存儲在varbinary或圖像類型列中? – HeavenCore 2012-03-30 12:55:50

回答

0

heavencore的答案是正確的 你只需要檢查你是否是二進制文字編輯器就行了 ,因此請檢查你是否在頁面上傳遞了正確的編號,然後說出響應的地方。的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") 

這是否幫助?

+0

嗨的問題,我已經是該圖像將在主頁上顯示,所以在頁面頂部將不會有查詢字符串 – Reidy0588 2012-04-23 08:22:24

+0

請訪問www.echo-ms.com網站,屏幕下方的縮略圖(即回聲)需要更改爲與該新聞文章相關的圖像數據庫 – Reidy0588 2012-04-23 08:23:15

+0

檢查我的編輯在頂部 – Jatin 2012-04-23 10:44:03

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") 
+0

玉任布萊恩這給一去和虐待讓你知道我是如何得到這 – Reidy0588 2012-03-30 13:16:45

+0

沒有工作:-( – Reidy0588 2012-03-30 13:40:38

1

我想通了。問題是圖像沒有正確加載到數據庫中,所以我重新創建了圖像加載的頁面,然後使用上面的Jatins代碼,只將「ID」更改爲「News_Article_ID」。一旦這樣做是我進入下面的代碼到IMG源

img src="Image_Display.asp?news_Article_iD=<%=rsnews("News_article_id")%>" 

許多thaks您的幫助大家

+0

你應該考慮接受賈廷斯的答案,而不是你自己的答案。 – Paddy 2012-05-29 13:37:00

相關問題