мой сайт отказывается обслуживать файлы .png - PullRequest
3 голосов
/ 08 июля 2010

При перемещении сайта из промежуточной среды в производственную среду файлы изображений .png не отображаются. При переходе непосредственно к изображению Firefox сообщает:

Изображение (путь к изображению) не может быть отображено, поскольку оно содержит ошибки.

Я проверил mime.types в моей конфигурации apache, и она содержит строку для

изображение / PNG PNG

Кто-нибудь знает, что может быть причиной этого? Я никогда не сталкивался с этим раньше.

Ответы [ 7 ]

5 голосов
/ 14 декабря 2014

Я решил ту же проблему, проверяя заглавные буквы в имени файла.все мои файлы .png имели суффиксы .PNG.сделал все строчными и все заработало.

4 голосов
/ 11 мая 2011

Та же проблема, что и две недели в попытке ее исправить.

В Ubuntu Linux проблема была связана с sendfile. Основанная на ядре функция os, которая не работала должным образом с apache2. Только что добавил «EnableSendfile off» в мой apache2.conf, и теперь изображения загружаются в порядке.

Надеюсь, это поможет.

http://ubuntuforums.org/showthread.php?t=1385583

3 голосов
/ 08 июля 2010
  1. проверьте перезапись URL файла .htaccess или любые разрешения / ограничения и т. Д.

  2. загрузите любое изображение PNG и попробуйте открыть его браузером, используя прямой путьв ваш png файл.например, http://localhost/images/test.png (если он работает нормально, это означает, что ваш apache успешно полностью обработает ваш png)

  3. проверьте, создали ли вы какую-либо символическую ссылку в каталоге изображенийна вашем предыдущем сервере (хосте).

  4. проверьте ваши права доступа к каталогу.

  5. очистить кеш браузера.

  6. проверить файл виртуального хоста appach httd.conf на прежнем хосте.может быть, ранее был создан какой-то псевдоним или что-то в этом роде.httpd.conf: ...

     <VirtualHost www.mydomain.com:80>
                 ServerAdmin hostmaster@www.mydomain.com
                 DocumentRoot /home/www/www.mydomain.com/htdocs
                 ScriptAlias /cgi-bin/ /home/www/www.mydomain.com/cgi-bin/
                 ServerName www.mydomain.com
                 Alias /images/ /home/www/www.mydomain.com/images/
                 Alias /pictures/ /home/www/www.mydomain.com/upload/
                 Alias /errors/ /home/www/www.mydomain.com/errors/
                 Alias /catalog/ /home/www/www.mydomain.com/catalog/
                 ErrorLog /home/www/www.mydomain.com/logs/error_log
                 CustomLog /home/www/www.mydomain.com/logs/access_log
                 ScriptLog /home/www/www.mydomain.com/logs/script_log
                 ErrorDocument 403 /errors/403.html
                 ErrorDocument 404 /errors/404.html
                 ErrorDocument 500 /errors/500.html
         </VirtualHost>
    

дайте мне знать, если что-то из этого работает или нет

2 голосов
/ 08 июля 2010

Если ваше изображение является реальным: возможно, изображение было повреждено во время передачи по FTP (неполная или плохая / недвоичная передача). Загрузите его обратно с сервера и посмотрите на него.

Если ваше изображение виртуальное или сгенерированное скриптом: опубликуйте код, чтобы мы могли взглянуть на него! Это часто случается с PHP, если у вас есть несколько символов перед открывающим тегом <?php, например.

1 голос
/ 08 июля 2010

К сожалению, может быть много вещей:

  • Проверьте права доступа к файлу для файла и убедитесь, что apache может их читать
  • Является ли этот файл "настоящим"это идет от БД или подобного?Если он исходит из БД или кода, исследуйте фактическую строку, чтобы убедиться, что контент генерируется правильно.Если есть ошибки, они испортят вывод изображения
  • Файл может быть действительно поврежден (попробуйте повторно загрузить)
0 голосов
/ 17 октября 2018

Обязательно передавайте изображения в двоичном режиме при передаче по FTP

0 голосов
/ 17 ноября 2011

как говорится в комментариях к файлу конфигурации

«EnableSendfile должен быть отключен при обслуживании из сетевых монтируемых файловых систем или если поддержка этих функций в вашей системе нарушена."

что было проблемой для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...