отображение изображений из базы данных sql с классическим asp - PullRequest
0 голосов
/ 30 марта 2012

Я создаю домашнюю страницу и у меня есть раздел новостей. В настоящее время в разделе новостей отображаются 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 на 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 'conn = раскомментируйте эту строку и вставьте здесь строку подключения 'Получить конкретное изображение на основе идентификатора, переданного в строке запроса str = "ВЫБЕРИТЕ news_Image ИЗ tblNews WHERE news_article_id =" & userID rs.Open, Conn, 3,3 if rs.eof then 'записей не найдено Response.End else 'Показать содержимое Response.ContentType = "image / gif" Response.BinaryWrite (RS ( "news_Image")) конец если

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

Ответы [ 3 ]

1 голос
/ 29 мая 2012

Я понял это.проблема заключалась в том, что изображение не было загружено в базу данных правильно, поэтому я заново создал страницу, на которой было загружено изображение, а затем использовал приведенный выше код Jatins, изменив только «ID» на «News_Article_ID».как только это было сделано, я ввел следующий код в источник img

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

большое спасибо за вашу помощь всем

0 голосов
/ 31 марта 2012

Небесный ответ правильный вам просто нужно проверить, правильно ли вы записываете двоичные данные поэтому проверьте, передаете ли вы правильный идентификатор на страницу, а затем там, где написано response.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 голосов
/ 30 марта 2012

Хорошо, основываясь на ваших комментариях, вам нужно создать новую страницу 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") 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...