我的网站拒绝提供.png文件

问题描述 投票:0回答:8

将站点从暂存环境移动到生产环境时,不会显示 .png 图像文件。直接转到图像时,firefox 报告:

图片(image-path)无法显示,因为它包含错误。

我在我的 apache 配置中检查了 mime.types,它包含一行

图片/png png

有人知道是什么原因造成的吗?我以前从未遇到过。

apache png
8个回答
6
投票

我解决了检查文件名中大写字母的相同问题。我所有的 .png 文件都有大写的 .PNG 后缀。把所有的东西都变成小写了,它起作用了。


4
投票

同样的问题两周后试图解决它。

在 ubuntu linux 上,问题与 sendfile 有关。基于内核的 os 函数不能与 apache2 一起正常工作。 刚刚在我的 apache2.conf 中添加了“EnableSendfile off”,现在图像加载正常了。

希望对您有所帮助。

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


3
投票
  1. 检查 .htaccess 文件 url 重写或任何权限/限制等

  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 [email protected]
                 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
投票

如果您的图像是真实的:图像可能在 FTP 传输过程中损坏(不完整或错误/非二进制传输)。从服务器下载回来看看。

如果您的图像是虚拟的或脚本生成的:发布代码,我们可以看看!例如,如果您在

<?php
开始标记之前有一些字符,这种情况经常发生在 PHP 中。


1
投票

不幸的是可能有很多事情:

  • 检查文件的文件权限,确保apache可以读取它们
  • 这是“实际”文件,还是来自数据库或类似文件?如果它来自数据库或代码,请调查实际字符串以确保正确生成内容。如果有错误,它们会破坏图像的输出
  • 文件实际上可能已损坏(尝试重新上传)

0
投票

如配置文件注释所说

“EnableSendfile 必须在从网络安装的文件系统提供服务时关闭,或者如果对这些功能的支持在您的系统上被破坏。”

这对我来说是个问题。


0
投票

确保在通过 FTP 传输时以二进制模式传输图像


0
投票

这已经很老了,但是如果有人正在寻找解决显示带有“img”标签的 .png 文件的问题的方法,我花了很长时间搜索但没有结果。我一时兴起检查了图像,它有一个 alpha 通道。我删除了 alpha 通道和尤里卡,它起作用了。另一件事要检查你是否有类似的问题。

© www.soinside.com 2019 - 2024. All rights reserved.