我试图在10月CMS上将.pptx文件上传到媒体库,我收到错误,因为不允许使用文件类型。我尝试使用Stackoverflow中的以下建议:
'fileDefinitions' => [
'assetExtensions' => array_merge(FileDefinitions::get('assetExtensions'), ['docx']), ],
但是我收到有关FileDefinitions类不存在的错误消息。我还尝试了另一个建议,即在/config/cms.php中添加一个fileTypes数组,但是这种方法不起作用,因为这种包含文件的方式似乎已经消失了。
十月CMS git repo有一个pull请求,它在源代码中添加了一个文件类型,但我觉得这不是一个好主意,因为不同的用户有不同的需求,每当有人想要一个新的时候系统就必须更新文件类型已添加!无论如何,有没有人知道一种简单的方法,只需添加一个新文件类型的allow文件类型数组?
似乎它应该是一个简单的配置设置,但对于我的生活,我找不到任何工作参考。
答案 0 :(得分:1)
我猜你添加错误的扩展名 pptx 而不是 ppxt @David Lundquist
<?php
return [
'fileDefinitions' => [
'defaultExtensions' => [
'pptx'
]
],
// other config
....
];
只需将此行添加到config/cms.php
配置中即可。
但是现在确保它现在只允许文件 .pptx ,如果您想要允许更多扩展,您需要手动添加它们。
&#39; jpg&#39;,&#39; jpeg&#39;,&#39; bmp&#39;,&#39; png&#39;,&#39; webp&#39;,&# 39; gif&#39;,&#39; svg&#39;,&#39; js&#39;,&#39; map&#39;,&#39; ico&#39;,&#39; css&#39 ;,&#39; less&#39;,&#39; scss&#39;,&#39; ics&#39;,&#39; odt&#39;,&#39; doc&#39;,&#39 ; docx&#39;,&#39; pdf&#39;,&#39; swf&#39;,&#39; txt&#39;,&#39; xml&#39;,&#39; ods&#39; ,&#39; xls&#39;,&#39; xlsx&#39;,&#39; eot&#39;,&#39; woff&#39;,&#39; woff2&#39;,&#39; ttf&#39;,&#39; flv&#39;,&#39; wmv&#39;,&#39; mp3&#39;,&#39; ogg&#39;,&#39; wav&#39;, &#39; avi&#39;&#39; mov&#39;,&#39; mp4&#39;,&#39; mpeg&#39;,&#39; webm&#39;,&#39; mkv& #39;,&#39; rar&#39;,&#39; zip&#39;
这是默认列表,所以只需复制此列表并在此处添加您自己的额外扩展名。
在你的情况下, pptx ..它会起作用。
我已检查过代码库,没有其他简单的方法来扩展它。 {可能很难,需要额外的插件和挂钩等。}
不要尝试使用array_merge解决方案,因为FileDefinitions代码将递归调用以再次获取cms config它将执行array_merge ... (超出主题但它不起作用所以不要尝试)
最好使用这个,这不会影响更新。
每当有人想要添加新文件类型时,不要担心他们只提供配置文件:) 尝试一下,如果它不起作用请发表评论。就会更新!
答案 1 :(得分:0)
如果要将特定文件扩展名上传到媒体库,则需要转到cms config
cms.php并添加
'fileDefinitions' => [
'defaultExtensions' => [
'ppxt',...10billion more extensions in a list here]
]
答案 2 :(得分:0)
在CyberPanel上,我通过以下步骤对其进行了修复: