Wordpress Media Upload блокирует тип файла из uploads.php, но не media-upload.php - PullRequest
1 голос
/ 12 ноября 2019

У меня есть сайт под управлением Wordpress 5.2.4 (последний на данный момент). Я пытаюсь настроить его, чтобы разрешить загрузку файла .dwg в ​​медиатеку из поля «Загрузка файла» в повторителе ACF. Я получил сообщение об ошибке ниже:

«Извините, этот тип файла не поддерживается из соображений безопасности» * WordPress файлы

.dwg не были разрешены, поэтому мы добавили его как Mime Type в функции.php

function my_custom_mime_types( $mimes ) {
$mimes['.dwg'] = 'application/octet-stream';
return $mimes;
}

Файл .dwg по-прежнему не будет загружен из файла загрузки ACF, поэтому мы просто попытались загрузить его непосредственно в библиотеку мультимедиа. Мы обнаружили, что можем загрузить файл, если мы нажмем «Медиа», а затем нажмем «Добавить новый» на боковой панели (зеленая стрелка на связанном изображении ниже).

Если, однако, мы нажимаем «Добавить новый», чтобысправа от заголовка «Библиотека мультимедиа» все равно будет отображаться ошибка типа файла (красная стрелка внизу на связанном изображении ниже).

Добавить расположение мультимедиа

IМожно было бы подумать, что оба местоположения используют одинаковые настройки в Wordpress, но мы получаем разные результаты. «Добавить новый» ниже «Медиатека» идет в media-upload.php (и работает). «Добавить новый» справа от «Медиатека» идет к uploads.php (и не работает).

Я также добавил строку «ничего не фильтровать» в wp-config.php, но без изменений в вопросе.

define( 'ALLOW_UNFILTERED_UPLOADS', true );

Любая помощь будет оценена. Я надеюсь, что исправление «Add New» справа также исправит загрузку ACF-файла, поэтому мы делаем это по одному шагу за раз.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Мы проверили файл через пару онлайн-пантомимТип проверки, например, checkfiletype.com. Все сказали, что тип файла "application / octet-stream". Я также попробовал тип mime «image / vnd.dwg», как предложено @ ba-webimax ниже, и это также не прояснило проблему.

решено: @ba_webimax это правильно. У меня был правильный тип пантомимы, но период все испортил. Удаление точки перед «dwg» в строке ниже решило проблему:

$mimes['dwg'] = 'application/octet-stream';

1 Ответ

0 голосов
/ 12 ноября 2019

Я думаю, что у вас есть проблема с соответствием типу пантомимы. Попробуйте это ...

function my_custom_mime_types( $mimes ) {
    $mimes['dwg'] = 'image/vnd.dwg'; //period not necessary; use proper mime-type
    return $mimes;
}
add_filter('upload_mimes', 'my_custom_mime_types');
...