Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как считывать и отображать двоичные данные в Active Server Pages (ASP) с помощью ServerXMLHTTP.
Исходная версия продукта: службы IIS
Исходный номер базы знаний: 303982
Итоги
ServerXMLHTTP предоставляет методы и свойства для безопасного HTTP-доступа между разными веб-серверами. Этот объект можно использовать для обмена двоичными данными между этими серверами с помощью ASP.
Дополнительная информация
Страница ASP получает и отображает двоичные данные с помощью соответствующего типа расширений электронной почты (MIME). Например, для изображений .gif измените тип MIME следующим образом:
Response.ContentType = "image/gif"
Примечание.
Для файлов Adobe Acrobat, используйте application/pdfили для .jpg изображений image/jpg.
Поведение по умолчанию для типов MIME — открытие документа в Microsoft Internet Explorer. При добавлении следующего кода пользователю будет предложено сохранить файл или открыть файл с связанной программой:
Content-disposition: attachment; filename=fname.ext
Дополнительные сведения см. в диалоговом окне "Создание диалогового окна загрузки файлов" для известного типа MIME.
В следующих шагах показано, как ServerXMLHTTP выполнять потоковую передачу .jpg файла в браузер. ServerXMLHTTP извлекает XML-ответ с страницы ASP по протоколу HTTP. С помощью GET пример отправляет запрос без передачи данных на веб-сервер. В примере записывается этот ответ в выходные данные браузера, сначала сообщая браузеру, что ответ является изображением (image/jpg), а затем передает ответ непосредственно из объекта Ответа, чтобы отобразить его на экране.
Создайте страницу ASP и вставьте следующий код на странице:
<%@ Language=VBScript %> <% Response.ContentType = "image/jpeg" ' Uncomment to prompt user for download or run with associated program. ' Response.AddHeader "content-disposition","attachment;filename=ReadMe.jpg" Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")' Point to an image file with adequate access permissions granted objHTTP.open "GET", "http://servername/picture.jpg",false objHTTP.send Response.BinaryWrite objHTTP.ResponseBody Set objHTTP = Nothing %>Сохраните файл на веб-сервере.
Выберите файл .
При использовании ServerXMLHTTP объекта следует учитывать следующее:
- Из-за проблем с потоком страница ASP и файл, к которым осуществляется доступ, должны находиться в разных виртуальных папках.
- Средство синтаксического анализа MSXML 3.0 или более поздней версии должно быть установлено на сервере, а служебная программа конфигурации прокси-сервера должна выполняться с соответствующими параметрами.