描述此 Pull Request 的变更

修复 上传附件因词语过滤被拦截时、图片分辨率过高时无提示信息、上传许可计算不合理的 Bug

描述变更理由

由于词语过滤功能未考虑到上传附件功能所需要的特定提示信息,因此导致上传附件时无法正确返回提示信息(但可以正确拦截附件上传),本 PR 明确新增了相关提示信息给予修复。

由于 GD 内存占用限制导致上传高分辨率图片失败的提示信息不合理,仅提示“没有合法的文件被上传”,因此本 PR 通过新增判断代码,将提示信息修改为 “服务器限制无法上传分辨率过高的附件” 从而给予修复。当站点遇到此问题时,应在扩大 php.ini 的 memory_limit 的同时修改后台上传设置中的 “GD 图片像素点上限”。

由于历史原因,上传许可计算仅采用了 upload_max_filesize 进行判断,考虑到 post_max_size 和 memory_limit 同时影响上传限制,本 PR 对此进行了修改,取三者最小值进行判断。

对不向前兼容或涉及安全性变更的特殊说明

上传附件类插件可能需要适配 -12 、 -13 错误代码。如果认为此 PR 不适合可以考虑移动至 X3.5 版本做实现。

关联 Issue

#I4JVTZ:DISCUZX3.4 上传图片之后会自动取消。