如何解决 WordPress 中的“抱歉,由于安全原因,这个文件类型不受支持”错误
你想在Wordpress中上传 svg、webp 等格式的文件时,系统会提示如下的错误:“抱歉,由于安全原因,这个文件类型不受支持” 。这是因为 WordPress 文件的MIME 类型(也称为“多用途互联网邮件扩展类型”)被限制上传。
MIME 类型解释
MIME 代表多用途互联网邮件扩展类型。浏览器和其他互联网设备使用 MIME 类型来确定与页面关联的内容类型。
例如,如果页面上有一个 .png 文件和一个 .jpeg 文件,浏览器将通过它们的 MIME 类型(而不是它们的文件扩展名),判断这两个文件为图像文件,而不是视频或其他文件类型。
默认情况下,WordPress 在 wp-includes/functions.php 中存储着已注册 MIME 类型的列表。但是,并非所有识别的 MIME 类型都允许在 WordPress 管理仪表盘中上传。
默认支持的文件类型
图片 | .jpg .jpeg .png .gif .ico |
文档 | .pdf(便携式文档格式;Adobe Acrobat) .doc、.docx(Microsoft Word 文档) .ppt、.pptx、.pps、.ppsx(Microsoft PowerPoint 演示文稿) .odt(OpenDocument 文本文档) .xls、.xlsx(Microsoft Excel 文档) .psd(Adobe Photoshop 文档) |
音频 | .mp3 .m4a .ogg .wav |
视频 | .mp4、.m4v (MPEG-4) .mov (QuickTime) .wmv (Windows Media Video) .avi .mpg .ogv (Ogg) .3gp (3GPP) .3g2 (3GPP2) |
要上传上面未列出的文件类型,有几种方法可以绕过这些限制。
使用插件授权上传其他 MIME 类型
可以安装 WP Extra File Types 插件。设置非常简单,只需选中要允许的文件类型即可。
通过 functions.php 授权上传其他MIME类型
还可以更改当前主题的 functions.php 文件,添加以下代码来允许其他文件类型上传:
add_filter('upload_mimes', 'tbi_upload_mimes');
function tbi_upload_mimes($mimes = array()) {
$mimes['svg'] = 'image/svg+xml';
$mimes['ico'] = 'image/x-icon';
$mimes['webp'] = 'image/webp';
return $mimes;
}
通过 wp-config.php 解除文件上传格式限制
通过在 wp-config.php 文件中添加以下代码,解除文件上传格式限制:
define('ALLOW_UNFILTERED_UPLOADS', true);
牛期网提醒大家注意,这行代码会允许管理员用户上传所有文件类型。建议采用其他方式来设定上传文件格式。
版权声明:
作者:Daloong
链接:https://www.daloong.cn/?p=625
来源:This is Daloong's blog
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论