WordPress Upload_MIMES不适用于3D文件的前端上传

时间:2019-01-14 作者:shacker

因此,在新的WP更新后,我的表单将不允许上载某些文件。我有一个重力表单,带有一个上传字段,用于提交3D打印文件。我可以使用一种类型的文件,但不能使用其他类型的文件。只是希望其他人有这个问题,并有一些更新的解决方案。

我正在使用:

add_filter(\'upload_mimes\',\'add_custom_mime_types\',1,1);
function add_custom_mime_types($mime_types){
    $mime_types[\'stl\'] =  \'application/wavefront-stl\';
    $mime_types[\'igs\'] =  \'application/iges\';
    $mime_types[\'stp\'] =  \'application/step\';
    $mime_types[\'step\'] =  \'application/step\';

    return $mime_types;
}
奇怪的是。stl将上载,但不会上载其他内容。我还安装了Extra File Types 插件添加文件类型,但没有帮助。Disable Real MIME Check 也不起作用。

我还补充道:

define( \'ALLOW_UNFILTERED_UPLOADS\', true );
到wp config,我可以作为管理员将这些文件上载到媒体库,但我需要从前端表单上载这些文件。

1 个回复
SO网友:shacker

多亏了这条线here, 我找到了这个代码

    function fix_wp_csv_mime_bug( $data, $file, $filename, $mimes ) {
    $wp_filetype = wp_check_filetype( $filename, $mimes );
            $ext = $wp_filetype[\'ext\'];
            $type = $wp_filetype[\'type\'];
            $proper_filename = $data[\'proper_filename\'];

            return compact( \'ext\', \'type\', \'proper_filename\' );
}
add_filter( \'wp_check_filetype_and_ext\', \'fix_wp_csv_mime_bug\', 10, 4 );
允许通过表单上传文件。我不知道我在向什么敞开心扉,但现在它起作用了。