1

我正在尝试将 .pptx 文件上传到 10 月 CMS 中的媒体库,但由于不允许使用文件类型,因此出现错误。我尝试使用 Stackoverflow 的以下建议:

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

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

十月 CMS git repo 有一个拉取请求,它在源代码中添加了一个文件类型,但我觉得这不是一个好主意,因为不同的用户有不同的需求,并且每次有人想要添加新的文件类型时都必须更新系统!无论如何,有没有人知道一种简单地在允许文件类型数组中添加新文件类型的好方法?

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

4

3 回答 3

1

我猜你在那里添加了错误的扩展名,它的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 .. 它会起作用。

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

不要尝试使用 array_merge 解决方案,因为 FileDefinitions 代码将递归调用以再次获取 cms 配置,它将执行 array_merge ... (超出主题但它不起作用,所以不要尝试)

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

每次有人想要添加新的文件类型时更新!

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

试试看,如果它不起作用,请发表评论。

于 2017-11-22T11:12:30.260 回答
0

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

cms.php 并添加

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

在此处输入图像描述

于 2017-11-21T16:11:24.870 回答
0

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

  1. 添加确保我使用的 PHP 版本与我的网站相同,即 7.3
  2. 打开 file_uploads “ON”(最重要)(这是一切开始正常工作的地方)
  3. 添加 upload_tmp_dir 目录可能有效,但对我来说,仅打开 file_uploads 有效
  4. 将 /tmp 目录添加到 OpenLiteSpeed > 服务器配置 > 文件上传
于 2020-08-14T08:33:02.370 回答