для сохраненных файлов отображается неправильный путь

#php #laravel-5.2

#php #laravel-5

Вопрос:

Я использую вмешательство в изображение laravel.У меня есть некоторые файлы, хранящиеся в моей папке хранения в пути /storage/app/public/images .Когда я пытаюсь сгенерировать путь к файлам с помощью

 $path=Storage::disk('local')->url('screenshot1.jpg');
  

и, выполнив dd($path), он дает мне путь, подобный,

«/storage/screenshot1.jpg «

и я хочу путь,

«/storage/app/public/images/screenshot1.jpg «

Я также внес некоторые изменения в свой filesystem.php для того, чтобы получить требуемый путь,

 'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app/public/images'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public/images'),
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => 'your-key',
        'secret' => 'your-secret',
        'region' => 'your-region',
        'bucket' => 'your-bucket',
    ],

],
  

но все равно не работает..

Ответ №1:

путь возвращается правильно, но, но чтобы получить содержимое в url, вам нужно скопировать его из хранилища в общедоступную папку на вашем пути, в противном случае вы должны вернуть клиенту base64. поскольку хранилище недоступно напрямую из общедоступного.

Вам нужно создать символическую ссылку с помощью storage / app / public /images если папка images не является общедоступной, создайте ее, прежде чем создавать символическую ссылку

 ln -s storage/app/public/images public/images
  

Комментарии:

1. у меня эти изображения также хранятся в общей папке, но все равно он возвращает тот же путь, должен ли я вносить в это изменения filesystem.php файл

2. сделайте символическую ссылку для хранилища / приложения / общедоступных / изображений на общедоступные / изображения

3. Это то, что возвращает мой gitbash, $ ln -s storage / app/ public / images public /images ln: не удалось создать символическую ссылку ‘public / images’: нет такого файла или каталога

4. сделайте mkdir в public/images, это говорит о том, что каталог папок images в общедоступной папке не существует, затем выполните символическое