十月 CMS 不允许的文件类型

October CMS disallowed file types

我正在尝试将 .pptx 文件上传到 October CMS 中的媒体库,但出现错误,因为该文件类型不被允许。我尝试使用 Whosebug 的以下建议:

'fileDefinitions' => [ 'assetExtensions' => array_merge(FileDefinitions::get('assetExtensions'), ['docx']), ],

但是我收到一条关于 FileDefinitions class 不存在的错误消息。我还尝试了另一个建议,即在 /config/cms.php 中添加到 fileTypes 数组,但这也不起作用,因为这种包含文件的方式似乎已经消失。

October CMS git repo 有一个拉取请求,它在源代码中添加了一个文件类型,但我觉得这不是一个好主意,因为不同的用户有不同的需求,系统必须更新每次有人想要添加新文件类型时!不管怎样,有谁知道在允许文件类型数组中简单地添加新文件类型的好方法吗?

似乎它应该是一个简单的配置设置,但对于我来说,我找不到任何工作参考。

如果您想将特定文件扩展名上传到媒体库,您需要转到 cms 配置

cms.php 并添加

        'fileDefinitions' => [
                'defaultExtensions' => [
                    'ppxt',...10billion more extensions in a list here]
                 ]

我猜你在 pptx 中添加了错误的扩展名,而不是 ppxt @David Lundquist

<?php

return [

    'fileDefinitions' => [
        'defaultExtensions' => [
            'pptx'
         ]
    ],

    // other config
    ....
];

只需将此行添加到 config/cms.php 配置中,它应该可以工作。

但现在确保它现在只允许文件 .pptx 如果你想允许更多的扩展,你需要在这里手动添加它们。

'jpg', 'jpeg', 'bmp', 'png', 'webp', 'gif', 'svg', 'js', 'map', 'ico', 'css', 'less', 'scss', 'ics', 'odt', 'doc', 'docx', 'pdf', 'swf', 'txt', 'xml', 'ods', 'xls', 'xlsx', 'eot', 'woff', 'woff2', 'ttf', 'flv', 'wmv', 'mp3', 'ogg', 'wav', 'avi', 'mov', 'mp4', 'mpeg', 'webm', 'mkv', 'rar', 'zip'

这是默认列表,因此只需复制此列表并在此处添加您自己的额外扩展名..

在你的情况下它的 pptx .. 它会起作用。

我检查了代码库,没有其他简单的方法可以扩展它。 { 可能很难需要额外的插件和挂钩等..}

Do not try that array_merge solution as FileDefinitions code will recursively called to get cms config again it will do array_merge ... (out of the topic but it will not work so do not try that)

所以最好使用这个,这不会影响更新。

updated every time someone wants a new file type added!

别担心他们提供的配置文件只是为了这个目的:)

试试吧,如果不行请评论。

在 Cyber​​Panel 上,我通过以下步骤修复了它:

  1. 添加确保我使用的 PHP 版本与我网站的版本相同,即 7.3
  2. 开启file_uploads“开启”(最重要)(这是一切开始正常运行的地方)
  3. 添加 upload_tmp_dir 目录可能有效,但对我来说仅启用 file_uploads 有效
  4. 已将 /tmp 目录添加到 OpenLiteSpeed > 服务器配置 > 文件上传