Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Pavel V. Ammosov                     2:5020/52      26 Apr 2001  22:10:04
 To : All
 Subject : Re: Content-type + Image + "Сервер закрыл соединие"...
 -------------------------------------------------------------------------------- 
 
 >Пытаюсь генерировать и выдавать иконки следующим образом:
 >
 >(Можно не особо разбираться с кодом - пояснение вопроса внизу)
 >
 >=== cut ===
 >#!/usr/bin/perl
 >
 >use CGI qw/:standard/;
 >use Image::Magick;
 
 >
 >my $url=param("url");
 
 Опасайся URL типа file://
 
 >
 >$url=~s!:/!://!;
 >
 >my $type="plain/text";
 >my $ext="txt";
 >
 >if(substr($url,-4) eq ".jpg") {$type="image/jpeg", $ext="jpg"}
 >if(substr($url,-4) eq ".gif") {$type="image/gif", $ext="gif"}
 >if(substr($url,-4) eq ".png") {$type="image/png", $ext="png"}
 >
 >my($image, $x);
 >$image = Image::Magick->new;
 
 Тут тип картинки надо указать, например: 
 $image = Image::Magick->new(magick=>'GIF');
 
 >
 >open HFILE,"lynx -dump $url|";
 
 Зачем тут lynx, когда есть LWP?  
 Hо, даже если ты используешь lynx, стоит проверять на ошибки.
 
 >$x = $image->Read(file=>HFILE);
 >warn "$x" if "$x";
 >close HFILE;
 
 close HFILE or die "lynx: $!";
 
 >
 >print "Content-type: $type\n\n";
 >
 >$x = $image->Resize(geometry=>'200x150');     
 >warn "$x" if "$x";
 >
 >$x = $image->Write("-");    
 >warn "$x" if "$x";
 >
 >unlink("image.$ext");
 >=== cut ===
 >
 >Этот код берёт из URL параметр url=, скачивает указанную картинку из Интернет,
 >масштабирует её в размеры 200x150 посредством ImageMagick и выдаёт её как
 >результат.
 >
 >Так вот, если я качаю полученный файл через wget
 >
 >wget http://someserver/cgi-bin/tn.cgi?url=http://otherserver/image.jpg
 >
 >то всё ок. файл выкачивается и тот, что надо.
 >
 >Во всех остальных случаях (IE, Netscape, Opera, Reget, как по прямой ссылке,
 >так и через <img src=...>) в результате выдаётся ошибка. 
 
 А в error_log есть чего-нибудь?  
 Браузеры иногда  теряют второй / в http://, при передаче URL в параметрах,
 посмотри можкт у тебя такое.
 
 >Браузеры просто
 >выдают крестик вместо картинки, ReGet выдаёт:
 -- 
 Pavel Ammosov                                               O    \
 apavel@aha.ru                                                 __  )
 http://isabase.philol.msu.ru/~apavel/                             )
 wget -O - isabase.philol.msu.ru/~apavel/key.asc|pgp -fka    O    /
 --- slrn/0.9.6.3 (Linux)
  * Origin: Zenon N.S.P. news server (2:5020/52.0)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Content-type + Image + "Сервер закрыл соединие"...   Pavel V. Ammosov   26 Apr 2001 22:10:04 
Архивное /ru.perl/82752ef0615c1.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional