SVG upload does not work

时间:2021-05-17 作者:Ulrich Sommer

我创建了一个带有可单击区域的SVG,用作登录页图像,文件大小为4 MB。我无法上传,Wordpess说有错误(没有详细说明)。大小似乎不是问题,其他大小的文件已上载。

我已经安装了SVG支持插件。

我用lnkscape创建了它。它的边缘看起来很好,做了它应该做的事情。我尝试了lnkscape中可用的所有SVG格式,但都失败了。

我不使用Media Library Assistant。

我从哪里开始寻找问题所在?

我使用的主题可能是问题(四)吗?

如果这真的很琐碎,请容忍我——我对这一点很陌生。

1 个回复
SO网友:anton

默认情况下,Wordpress不允许上载SVG文件

Add svg file type in allowed file types list

function wp_mime_types($mimes)
{
    $mimes[\'svg\'] = \'image/svg+xml\';
    return $mimes;
}
add_filter(\'upload_mimes\', \'wp_mime_types\');

Fix for displaying svg files in media library

function wp_fix_svg() {
    echo \'<style type="text/css">
        .attachment-266x266, .thumbnail img {
         width: 100% !important;
         height: auto !important;
        }
        </style>\';
}
add_action( \'admin_head\', \'wp_fix_svg\' );

Attempt to determine the real file type of a file

function wp_check_filetype($data, $file, $filename, $mimes) 
{
    global $wp_version;
    if( $wp_version !== \'4.7.1\' ){
        return $data;
    }

    $filetype = wp_check_filetype( $filename, $mimes );

    return [
        \'ext\'             => $filetype[\'ext\'],
        \'type\'            => $filetype[\'type\'],
        \'proper_filename\' => $data[\'proper_filename\']
    ];
}
add_filter( \'wp_check_filetype_and_ext\', \'wp_check_filetype\', 10, 4 );

相关推荐

SVG Upload to WordPress Issue

因此,我将此代码添加到我的函数中。php文件,然后我可以在整个服务器、所有客户端网站上上传SVG。我知道有关于使用此代码的安全免责声明。function cc_mime_types($mimes) { $mimes[\'svg\'] = \'image/svg+xml\'; return $mimes; } add_filter(\'upload_mimes\', \'cc_mime_types\'); 有人知道为什么我的所有客户都可以这样做,而不仅仅是我把代