T-SQL Отображение BLOB-изображения с использованием классического ASP - PullRequest
1 голос
/ 09 февраля 2012

Я использую этот пример для отображения изображений, хранящихся в моей базе данных File-Stream Enabled в формате BLOB-объектов.

http://support.microsoft.com/kb/173308

Это работает отлично, но я очень плохв классическом asp и имеют проблемы при попытке отобразить это изображение, смешанное с элементами HTML.

Из моего теста и попыток я пришел к выводу, что это потому, что Response.ContentType.

В примеревыше, для отображения изображения они используют тип содержимого изображения.Отлично.У меня это тоже есть в моей базе данных.Но когда я читаю его оттуда и изменяю в asp-файле, весь HTML-код в asp-файле не отображается.

Что нужно сделать, чтобы отобразить мои изображения, смешанные с тегами HTML.Это часть моего плохого кода asp, который будет отображать только одну картинку из базы данных и никакой другой HTML.

SQL = "SELECT RecordID FROM InfoTable"

Set Recordset = Server.CreateObject("ADODB.Recordset")

Recordset.Open SQL,AdapterDataBaseActiveConnection

If Recordset.EOF Then

    Response.Write("No records returned.")

Else

    Do While NOT Recordset.Eof  

        Set CurrentNumber=Recordset("RecordID") 

        'Response.write CurrentNumber
        'Response.write "<br>" 
        Set rs = AdapterDataBaseActiveConnection.Execute("SELECT ContentType FROM InfoTable WHERE RecordID="&CurrentNumber)
        Set CurrentContentType=rs("ContentType")

        'Response.write CurrentContentType
        Response.Expires = 0
        Response.Buffer = TRUE
        Response.Clear
        Response.ContentType = CurrentContentType

        Set rsa = AdapterDataBaseActiveConnection.Execute("SELECT RecordBLOB FROM ImageTable  WHERE RecordID="&CurrentNumber)
        'Response.write "<div>"
        Response.BinaryWrite rsa("RecordBLOB")
        'Response.write "</div>" 

        Recordset.MoveNext 

    Loop

End If      

Моя последняя цель - поместить данные большого двоичного объекта в теги "".Возможно ли это? Может быть, я должен использовать какой-то тип преобразования?Я думал об этом и сдался.Я только что попытался отобразить изображения в тегах "", но тоже не получилось.

Пожалуйста, дайте мне несколько советов о том, как мне подходить в этой ситуации.

Заранее спасибо.

1 Ответ

2 голосов
/ 09 февраля 2012

Обычно это работает следующим образом:

Это изображение на странице <img src="imageServer.asp?ID=1234">

Сервер отвечает на ОДИН запрос, устанавливает заголовок MIME и передает данные изображения для этого конкретногообраз.Вы не выводите HTML, HTML уже находится на странице.Вы должны указать тегу img, где взять его данные.

См .: Отображение JPEG с помощью Response.BinaryWrite

...