Как скачать файл по ссылке и дать на просмотр?
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Как скачать файл по ссылке и дать на... Expand / Collapse
Автор
Сообщение
29.12.2000 7:02
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.02.2007 6:22
Сообщ.: 329, Visits: 3 602
Есть местная сеть без выхода в инет.
Есть IIS с выходом в инет.
Надо на своей страничке показать картинку которая находиться по известной ссылке.
Понятно, что если вставить ссылку в HTML, то локальные машины ее не увидят.
Короче надо перекачать файл на сервер и туда указать ссылку.
Заранее благодарен
Олег
Сообщ. #702677
29.12.2000 11:52
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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
Сообщ. #702683
29.12.2000 12:36
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 05.02.2007 6:22
Сообщ.: 329, Visits: 3 602
Сея программка вываливает код gif-файла на экран
вместо того, что бы его отобразить!
Сообщ. #702686
29.12.2000 12:58
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme 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()) (скорее всего в этом и ошибка)
Сообщ. #702689
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl, Alexey Spirin

Время GMT +3:00, Сейчас 5:49