Я не знаю, может я что-то неправильно понял, но я вызываю следующий метод во время загрузки файла:
$cover->storePubliclyAs($coverAsset->dir, $coverAsset->preview_name);
$coverAsset->dir
возвращает businesses/2
, а $coverAsset->preview_name
возвращает хешированное имя файла.
После загрузки я получаю файл по адресу: storage/app/businesses/1/pre-AxDMVlSN.jpeg
Я запутался, почему файл не сохраняется в storage/app/public/businesses/...
? Я ожидаю, что «общедоступная» часть поместит его в общую папку структуры каталогов хранилища, предоставленную Laravel.
Я посмотрел на свою конфигурацию файловых систем:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
...
Такое ощущение, что диск local
используется вместо диска public
? Как узнать, какой из них используется методом UploadedFile->storePubliclyAs
?