Получение приватных изображений с сервера с помощью Lumen / Laravel - PullRequest
0 голосов
/ 15 октября 2019

Мне нужно получить из моего интерфейса в Angular частные изображения, которые хранятся на сервере, но я не знаю, как получить эти изображения, не сохраняя их в папке /public, которая содержится в Laravel / Lumen.

Идея состоит в том, чтобы получить запрос HTTP GET с информацией о пользователе, и этот маршрут должен вернуть изображение. Есть ли способ сделать это, любая другая возможность?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 15 октября 2019
// Storing the incoming file on the local storage driver (not public)
$filePath = request()->file_name->store('some_folder_name');

// Returning the image
return response()->file(Storage::path($filePath));
<!-- displaying the image -->
<img src="{{ route('some_route_to_return_the_file_repsonse') }}" />

Надеюсь, это поможет.

РЕДАКТИРОВАТЬ: Я только что нашел более подробный ответ здесь

0 голосов
/ 15 октября 2019

Надеюсь, мой ответ поможет вам. В Laravel есть публичный диск. Публичный диск предназначен для файлов, которые будут общедоступными. Чтобы установить соединение от /public до storage/app/public, вам нужно выполнить:

php artisan storage:link

Когда вы сохраните образ на публичный диск, у вас будет что-то вроде:

Storage::disk('public')->put('file.txt', 'Contents');

Чтобы получить общедоступный образ с общедоступного диска

Storage::disk('public')->get('file.txt');

, вы также можете создать свой собственный путь, так что на пут / получить вы можетеиметь 'custom_path/file.text' и т. д.

Полную информацию вы можете получить по здесь . Я надеюсь, что это решит вашу проблему.

...