You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TYPO3 11版本如何禁止在filelist模块上传PNG文件?

解决TYPO3 11中Filelist模块仍允许上传PNG文件的问题

你已修改[GFX][imagefile_ext]和SYS->mediafile_ext但Filelist仍允许PNG上传,可按以下步骤排查修复:

  • 检查后台全局上传配置
    确认$GLOBALS['TYPO3_CONF_VARS']['BE']['uploadFileTypes']中未包含png。该配置控制后台所有模块的上传允许扩展名,若此处保留png,即使mediafile_ext移除也会允许上传。

  • 排查用户组TSconfig
    查看对应后端用户组的TSconfig,检查是否存在mod.file_upload.extensions配置项。该配置会覆盖全局的上传扩展名限制,若此处包含png,需移除。

  • 强制清理系统缓存
    修改配置后,务必清理TYPO3的所有缓存(包括配置缓存、页面缓存)。TYPO3会缓存配置信息,未清理的话新配置不会生效。

  • 验证MIME类型映射
    检查$GLOBALS['TYPO3_CONF_VARS']['FILE']['fileExtensionToMimeType'],确保png没有对应的MIME类型配置。若存在,可删除该行,或添加如下配置拒绝PNG的MIME类型:

    $GLOBALS['TYPO3_CONF_VARS']['FILE']['deniedMimeTypes'][] = 'image/png';
    
  • 上传验证钩子兜底
    如果以上方法都无效,可通过注册上传验证钩子实现强制拦截。在扩展的ext_localconf.php中添加:

    $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_extfilefunc.php']['checkUpload']['your_extension_key'] = \Vendor\YourExtension\Hook\FileUploadCheck::class . '->checkUpload';
    

    然后创建对应的钩子类,在checkUpload方法中判断文件扩展名是否为png,若是则抛出错误:

    namespace Vendor\YourExtension\Hook;
    
    class FileUploadCheck {
        public function checkUpload(array &$params, \TYPO3\CMS\Core\Utility\ExtensionManagementUtility $parentObject) {
            $fileExtension = strtolower(pathinfo($params['filename'], PATHINFO_EXTENSION));
            if ($fileExtension === 'png') {
                $params['error'] = 'PNG文件禁止上传';
            }
        }
    }
    

内容的提问来源于stack exchange,提问作者Chetan Shah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:42:09