Loving Coding & Visual Design
Discuz7的图片附件不能显示的问题
一Discuz7论坛的图片附件突然无法正常显示图片,但是下载图片完全没问题。分析atachement.php这个文件,发现
dheader('Content-Type: '.$attach['filetype']);出来的type都是application/oct-stream。
所以决定从这里寻找解决办法:
1、正确输出图片的Content-Type
2、或者在Content-Type之前直接转向到图片位置进行显示,放弃后面对图片的读取。
另外如过要自定义增加图片的水印效果,可以修改getlocalfile($attachdir.'/'.$attach['attachment'].'.thumb.jpg');为
dheader('Content-Type: '.$attach['filetype']);出来的type都是application/oct-stream。
所以决定从这里寻找解决办法:
1、正确输出图片的Content-Type
if($type=='jpg'){
dheader('Content-Type: image/jpeg');
}else if($type=='gif'){
dheader('Content-Type: image/gif');
}else{
dheader('Content-Type: image/png');
}
2、或者在Content-Type之前直接转向到图片位置进行显示,放弃后面对图片的读取。
$filename2=str_replace("home/public_html/","",$filename);
header('location: '.$filename2);
exit();
另外如过要自定义增加图片的水印效果,可以修改getlocalfile($attachdir.'/'.$attach['attachment'].'.thumb.jpg');为
require_once DISCUZ_ROOT.'./include/image.class.php';
$trg=$attachdir.'/'.$attach['attachment'].'.thumb.jpg';
list($img_w, $img_h) = @getimagesize($trg);
$image = new Image($trg,$trg);
$image->Thumb($thumbwidth, $thumbheight, 0);
$image->Watermark_GD_s2(1,"watermark_s.png",$trg,$img_w, $img_h);//加水印
getlocalfile($trg);
最 近 文 章
- 关于到香港买奶粉 - Mon, 07 Jun 2010 14:49:28 +0000
- Gmail的异常访问记录 - Sun, 06 Jun 2010 15:13:32 +0000
- Corrupt JPEG Error: extraneous bytes before marker 0xd9 - Thu, 08 Jul 2010 06:12:03 +0000
- Google更加重视用户体验 - Thu, 03 Jun 2010 06:00:58 +0000
- 关注一些安全问题 - Mon, 31 May 2010 07:03:45 +0000
- Google的加密服务 - Tue, 25 May 2010 05:20:31 +0000
- 网页在GreenBrowser下的兼容问题 - Wed, 26 May 2010 15:16:48 +0000
- FireFox4将带给我们什么? - Thu, 13 May 2010 05:16:05 +0000
- 设置Apache禁止通过IP访问服务器 - Wed, 12 May 2010 04:55:18 +0000
- Godaddy的.COM和.NET域名即将涨价 - Wed, 05 May 2010 04:04:55 +0000