Я создал форму загрузки, позволяющую пользователям управлять изображениями, используемыми в качестве логотипов в их аккаунт. Я использую хранилище файлов Laravel, вдохновленное Flysystem.
Когда я сохраняю изображение, я действую следующим образом:
Код: Выделить всё
// Store the logo in the public filesystem, and define a 'public' visibility
$logo = $request->file('logo')->store('logos/'.$account->id, 'public');
// Save the path in the database
$account->update([
'logo' => $logo
]);
На мой взгляд, я получаю URL-адрес изображения следующим образом:
Код: Выделить всё
[img]{{ Storage::disk([/img]
url($account->logo) }}" />
http://www.example.com/storage/logos/1/ ... ename.jpeg
Но что бы я ни делал, на изображении появляется ошибка 403
ЗапрещеноУ вас нет разрешения на доступ /storage/logos/1/automatic-filename.jpeg на этом сервере.
Думаю, я все сделал правильно:
- Я создал символическую ссылку из публичного/хранилища в хранилище/приложение/публичное с помощью хранилища php artisan: ссылка
Загруженные файлы сохраняются на сервер с разрешением 755. Все соответствующие папки имеют одинаковые разрешения.
Если у кого-нибудь возникала подобная проблема, заранее благодарим за ваш вклад!
С уважением,
Влад
Подробнее здесь: https://stackoverflow.com/questions/442 ... visibility