|
|
|
Supreme Being
      
участник
Last Login: 05.02.2007 6:22
Сообщ.: 329,
Visits: 3 602
|
|
Есть местная сеть без выхода в инет.
Есть IIS с выходом в инет.
Надо на своей страничке показать картинку которая находиться по известной ссылке.
Понятно, что если вставить ссылку в HTML, то локальные машины ее не увидят.
Короче надо перекачать файл на сервер и туда указать ссылку.
Заранее благодарен
Олег
|
|
|
|
|
Supreme Being
      
участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908,
Visits: 21 011
|
|
могу посоветовать такой вариант
http://www.dynu.com/DynuHttp.asp - бесплатный компонент, работающий с запросами HTTP, скачать, переписать .DLL в WinDir\system32, затем выполнить regsvr32 имя.dll.
Код программы:
<%if Request("filename")<>"" then
fn=Request("filename")
set myhttp = server.CreateObject("Dynu.HTTP")
myhttp.SetURL fn
if Right(fn,4)=".gif" then
Response.ContentType = "image/GIF"
Response.Write(myhttp.GetURL())
elseif Right(fn,4)=".jpg" then
Response.ContentType = "image/JPEG"
Response.Write(myhttp.GetURL())
end if
set myhttp = nothing
end if%>
Следует учесть, что имя файла должно быть полным, с http://, но без порта (порт указывается отдельным свойством), также нельзя выводить какие-то другие сообщения помимо картинки, так как указан response.contentType как изображение, если требуется все же вывести текст, то надо сделать примерно такой html файл:
<html>
.....
<img src="имя_файла_с_кодом_выше.ASP?путь_к_файлу_изображения.gif">
<a href="...">Назад</a>
.....
</html>
У меня этот компонент не заработал (метод getURL()), что я справедливо связал с выходом в Инет моего компьютера (на котором тестировался компонент) через PROXY, если и у вас компьютер с выходом в интернет работает через PROXY, то надо искать компонент с возможностью указания PROXY (таких компонентов много, к сожалению не все из них бесплатные). Можно посмотреть например на: http://aspin.com/home/components/internet/http
|
|
|
|
|
Supreme Being
      
участник
Last Login: 05.02.2007 6:22
Сообщ.: 329,
Visits: 3 602
|
|
Сея программка вываливает код gif-файла на экран
вместо того, что бы его отобразить!
|
|
|
|
|
Supreme Being
      
участник
Last Login: 03.03.2006 19:03
Сообщ.: 1 908,
Visits: 21 011
|
|
После того как указан Response.ContentType="image/jpeg" ВСЕ данные при выводе в Response должны отображаться в виде картинке, а не текста, убедитесь, что эта строчка точно выполняется в программе (если код был изменен), так как по-умолчанию стоит Response.ContentType="text/html". Еще можно проверить, какой Response.ContentType у сформированной страницы с помощью конструкции Response.Write("content type="&Response.ContentType&"<br>"), если все в тексте показывается, значит и это покажется.
Да! Совсем забыл - Response.write не годится для вывода двоичных файлов, нужно использовать Response.BinaryWrite, т.е. не Response.Write(myhttp.GetURL()), а Response.BinaryWrite(myhttp.GetURL()) (скорее всего в этом и ошибка)
|
|
|
|