Почему изображения, включенные в cgi-страницу, не отображаются в браузере? - PullRequest
2 голосов
/ 28 октября 2010

Надеюсь, у всех все хорошо.Я столкнулся с проблемой, связанной с изображениями, у меня есть страница CGI, то есть Login.cgi, в разделе HTML я включил некоторые изображения, но некоторые отображаются, а некоторые нет.

Вот код:

       #!C:\perl\bin\perl.exe
      use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
      use strict;
      print "Content-type: text/html\n\n";

      print <<END2;
      <html>
      <head><title>LOGIN</title></head>
      <body>
         <table>
           <tr>  
            <td background="C:/Program Files/Apache Software Foundation/Apache2.2/cgi-
               bin/template_3/images/login2222.PNG" style="height: 135px; width:
                 100px;">
              <img src="C:/Program Files/Apache Software Foundation/Apache2.2/cgi-
                   bin/template_3/images/ineer-top-left.gif"/>
             </td>
           </tr>
       </table>
      </body>
     </html>
     END2

Среди этих двух изображений 'фоновое изображение' тега td отображается правильно, НО изображение не в пределах td.

На самом деле я попытался изменить тип содержимого на "image /GIF ", но это не сработало.я попытался изменить src на "../template_3/images/ineer-top-left.gif" или что-то вроде "~ / template_3 / images / ineer-top-left.gif", но это не сработало.

Когда я щелкнул правой кнопкой мыши на изображении в браузере и проверил свойства ", он дает ТИП: недоступен РАЗМЕР: недоступен, НО АДРЕС (URL) правильный. Может кто-нибудь, пожалуйста, помогите мне найти решение.*

Ответы [ 3 ]

4 голосов
/ 28 октября 2010

Поскольку вы вызываете этот CGI, вы, должно быть, используете веб-сервер (apache?), Поэтому я предполагаю, что вы обращаетесь к нему на локальном хосте.В этом случае рассмотрите возможность использования относительного пути, например "/cgi-bin/template_3/images/ineer-top-left.gif", или абсолютного пути, например "http://127.0.0.1/cgi-bin/template_3/images/ineer-top-left.gif"", а не местоположения в вашей файловой системе. Возможно, вам придется воспроизвестигде вы храните изображения и где находится корневой каталог вашего сайта.

3 голосов
/ 28 октября 2010

Во-первых, URL, которые вы даете для своих изображений, должны быть реальными, а не путями к файлам.

И, во-вторых, ваш веб-сервер, вероятно, настроен так, что все в каталоге cgi-bin является CGIпрограмма.Это означает, что если вы дадите ему URL-адрес, указывающий на этот каталог, веб-сервер будет пытаться выполнить программу, а не напрямую обслуживать содержимое.Вы захотите переместить статический контент (например, изображения) из каталога cgi-bin.

1 голос
/ 27 июня 2012

Надеюсь, это сработает

  #!C:\perl\bin\perl.exe
  use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
  use strict;
  print "Content-type: text/html\n\n";

  print '
  <html>
  <head><title>LOGIN</title></head>
  <body>
     <table>
       <tr>  
        <td background="../login2222.PNG" style="height: 135px; width:
             100px;">
          <img src="../ineer-top-left.gif"/>
         </td>
       </tr>
   </table>
  </body>
 </html>
 ';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...