https下IE上传图片不显示问题

discuz教程
版本 dx 3.3

估计3.4一样有这个问题,ie内核的浏览器下在上传后,缩略图都是显示xx。

这个问题主要还是https下,对图片输出的时候 不能使用
  1. dheader('Content-Type: image');

必须要明确到jpeg,png这里。

在forum_image.php文件里59行左右
需要改为
  1. dheader('Content-Type: image/jpeg');
当然这个并不完美
  1. if($img->Thumb($filename, $thumbfile, $w, $h, $type)) {
  2. if($nocache) {
  3. dheader('Content-Type: image/jpeg');
  4. @readfile($_G['setting']['attachdir'].$thumbfile);

这样会让png的图片无法显示出来。

可以增加一个函数,来获取mime类型。

  1. function get_image_extension($image){
  2. $extension = pathinfo($filename,PATHINFO_EXTENSION);
  3. if(in_array($extension,['jpg','jpeg','png','gif','bmp'])){
  4. return'image/'.$extension;
  5. }
  6. return 'image';
  7. }
然后再去修改这个文件里输出的头部。
才可以彻底解决这个问题。

标签: