У меня есть 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;
}