Я написал следующий метод внутри контроллера, который проходит через все файлы в папке и возвращает эти:Laravel - Извлечение файлов из хранилища для загрузки
$ файлов = Хранение :: файлы ($ галереи) ;
public function showGallery($gallery)
{
$gallery = base64_decode($gallery);
$gallery_name = explode('/', $gallery);
$directories = Storage::directories($gallery);
$galleries = $gallery_name;
unset($galleries[0]);
unset($galleries[1]);
array_pop($galleries);
$files = Storage::files($gallery);
$locations = array();
foreach ($files as $file)
{
if($this->is_image($file))
{
$locations[] = Image::make(storage_path('app/' . $file))->encode('data-url');
} else
{
$locations[] = storage_path('app/' . $file);
}
}
//dd($locations);
$data = [
'directories' => $directories,
'galleries' => $galleries,
'gallery_path' => $gallery,
'gallery_name' => end($gallery_name),
'locations' => $locations,
];
return view('private.user.gallery', $data);
}
После этого я отделяя изображения из файлов других типов.
Я использую библиотеку Intervention Image, чтобы сделать Images общедоступными и доступными для просмотра.
Однако я застреваю при отображении других файлов (в виде значков), таких как файлы PDF, doc, mov.
Когда я нажимаю на эти значки в интерфейсе, я получаю эту ошибку.
ссылка: http://lamotte.local/home/vagrant/projects/lamotte/storage/app/gallery/Brand/pdf-test.pdf
NotFoundHttpException в RouteCollection.php линии 161:
Причина эти файлы находятся в хранилище, потому что эти файлы должны быть контролируемым доступом через систему авторизации.
Есть ли библиотека, которая может справиться с этим?