кодирование видео, которое отображается в виде строки в laravel - PullRequest
0 голосов
/ 29 февраля 2020

У меня есть 4 сервера, которые для одного я использую в качестве CDN и загружаю туда файлы, для изображения я использую приведенный ниже код для получения изображений:

      if (strpos($size, 'x')) {
            [$width, $height] = explode('x', $size);
        }
        try {
            $img = Image::cache(function ($image) use ($name) {
                $fileData  = FileStorage::where('path', $name)->first();
                $directory = $this->getDirectoryPathById($fileData->directory_id, false);
                $path      = Storage::get('/public/' . $directory . '/' . $fileData->path);
                $image->make($path);
            }, 60, true);
        } catch (\Exception $e) {
            abort(404);
        }
 return Response::make($img->encode('jpg', 80), 200, ['Content-Type' => 'image/jpg'])
                       ->setMaxAge(604800)
                       ->setPublic()
            ;

Теперь я хочу добавить видео к этому и все прекрасно, я загружаю видео, но когда я получаю видео в браузере, оно отображается в виде очень очень длинной строки и символов, и теперь я думаю, что должен быть и должен быть способ кодировать это видео и воспроизводить его, а не показывать как длинная строка файлов теперь я возвращаю видео, как показано ниже:

public function withoutAction($name)
    {
        $fileData  = FileStorage::where('path', $name)->first();
        $directory = $this->getDirectoryPathById($fileData->directory_id, false);
        $path      = Storage::disk('sftp')->get('/home/files/public/' . $directory . '/' . $fileData->path);
        //($path);
        $response = Response::make($path, 200);
        $response->header("Content-Type", 'video/mp4');
        return $response;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...