Не воспроизводимый аудиофайл хранится в laravel люмен - PullRequest
1 голос
/ 13 марта 2020

У меня есть аудиофайл mp3, сохраненный в папке public/storage, которая связана с папкой storage/app/public, имитируя php artisan storage:link с помощью команды this .

Итак, теперь я могу доступ прямо в браузере, как это делает http://my-domain/storage/example.mp3 в моем браузере. Я получаю аудио, но не могу воспроизвести, я не знаю почему.

Когда я набираю http://my-domain/storage/example.mp3 в своем браузере, я получаю это:

enter image description here

Звук не поврежден , потому что я попытался переместить его вручную с пути public/storage WinSCP ) на рабочий стол моего окна, и он воспроизводится нормальный. Я не знаю, что с этим происходит. Кто-нибудь может мне помочь?

Редактировать: Я также попытался проложить маршрут для воспроизведения звука, поэтому я сделал что-то вроде этого:

public function getAudio(Request $request, $filename){

    if(!Storage::disk('public')->exists($filename)){
           return "error";
    } 
    try {
       $type = Storage::mimeType($filename);
       $file = Storage::get($filename);

       return response($file, 200)->header('Content-Type', $type);

    } catch (\Exception $e){
       return $e->getMessage();
    }

}

Но я получаю то же, что и на скриншоте ...

Редактировать: Это происходит только с аудиофайлами , с файлами .txt показывает содержимое файла, а также с изображениями, отлично работает.

1 Ответ

0 голосов
/ 14 марта 2020

Это была проблема с mp3-файлом, я не знаю о форматах, но я использовал ffmpeg из ffmpeg , чтобы преобразовать аудиофайл в .ogg, и это сработало. Я все еще не понимаю, почему файл mp3 не воспроизводится.

...