通过 OctoberCms 媒体管理器上传 docx

uploading docx via OctoberCms media manager

每当我尝试通过 October Cms 媒体管理器上传 .docx 文件时,我得到了这个 “出于安全原因,使用的文件类型被阻止” 如何覆盖允许的文件扩展名?

我正在使用 BUILD 415

octobercms 只允许文件管理器中的一些扩展名。您需要手动添加特定的。

在 CMS 配置中添加 docx 扩展名。在 config/cms.php 中,添加:

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

您可以在此处找到支持的扩展列表:https://github.com/octobercms/library/blob/master/src/Filesystem/Definitions.php

我只是通过将完整覆盖显式添加到 config/cms.php 才使它起作用。就我而言

'fileDefinitions' => [ 'assetExtensions' => [ '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', 'ppt', 'pdf', 'zip' ] ],

尝试使用 array_merge 附加到数组时出错。必须覆盖整个事情是不雅的,但至少它有效。有点惊讶,这在用户界面中是不可配置的!

'fileDefinitions' => [ 'defaultExtensions' => [ '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', 'ppt', 'pdf', 'zip' ] ],

而不是 "assetExtensions",使用 "defaultExtensions"。