修复DiscuzX中Nginx下附件MIME类型不正确的问题


其实和Nginx没什么关系 Discuz没做好。
默认的MIME类型是text/plain
但是下载附件的话 必须在header里面输出mime的类型 浏览器才能正常识别二进制文件。
DiscuzX只对图片做了处理 没有对其他文件处理 这样的结果是 下载地址加密的mp3附件 结果很可能是下回来一个mp3 但是后缀是html(开伪静态的情况下) 或者直接显示mp3文件的内容。
只要对forum_attachment.php做如下修正。
默认DiscuzX的文件mime类型存储在库里面对应字段是filetype 可以使用变量$attach['filetype']取得。所以做如下判断即可

放在附件输出之前都有效果

比如放在xsendfile处理的前面。

Author Info :
  • From:修复DiscuzX中Nginx下附件MIME类型不正确的问题
  • URL:http://blog.ihipop.info/2011/04/2234.html
  • Please Reserve This Link,Thanks!
  • 发表评论

    电子邮件地址不会被公开。 必填项已用*标注