Не получается запретить загрузку аудио файлов в формате m4a на сервер
validation rules (разрешены только видео файлы)
'mimes:mp4,m4v,mov,wmv,avi,flv,qt'
'mimetypes:video/x-m4v,video/quicktime,video/x-ms-wmv,video/x-msvideo,video/x-flv'
ничего не помогает, файл пропускает и как я понял потому, что принимает его за mp4 (File::guessExtension говорит что это mp4)
Похоже на правду.
Делал nginx -t и systemctl reload nginx?
И ты точно из этого сервера скачиваешь файл? Нет какого-то другого?
И ты уверен, что файл не закешировался? Проверяй лучше с помощью curl -IL http://site.com/file.m4a
Александр Карабанов, через mimetypes как раз пытался проверить в laravel, ничего не помогало, подумал что через nginx получится) спасибо за ваше время!
по итогу сделал кастомное правило на основе имени файла (по хорошему, при помощи того же getID3 достать mime и уже опираясь на него делать вывод, но мне достаточно и такой проверки)
<?php
namespace App\Rules;
use Illuminate\Contracts\Validation\Rule;
class NotM4a implements Rule
{
public function passes($attribute, $value)
{
if (pathinfo($value->getClientOriginalName())['extension'] == "m4a") {
return false;
}
return true;
}
public function message()
{
return '.m4a files is not allowed to upload';
}
}