Ссылка на хранилище усадьбы Laravel работает

У меня Ubuntu 16.4 и бродяга с Laravel Homestead.

сначала я создал новый файловый диск

    'teams_logo' => [
        'driver' => 'local',
        'root' => storage_path('app/public/teams/logo'),
        'url' => env('APP_URL').'/storage/teams/logo',
        'visibility' => 'public',
    ], 

затем я казнил

Хранилище php artisan: ссылка

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

http://joxi.ru/J2b6Ov0F04gk12

теперь я могу видеть свои изображения, но есть одна проблема. Мое приложение их не показывает (посмотрите на скрин)

http://joxi.ru/MAj38WvFjv1npr

Но есть одна странность. Если я попытаюсь скопировать этот путь к изображению и вставить его в адресную строку браузера, я увижу изображение (посмотрите на экран)

http://joxi.ru/52a53oGUEGg8v2.

Во-вторых, я пытаюсь проверить свою символическую ссылку внутри ubuntu и вижу, что символическая ссылка красная (посмотрите на экран)

http://joxi.ru/MAj38WvFjv1zpr


person Viktor    schedule 20.11.2018    source источник


Ответы (4)


Вы можете попробовать, как показано ниже

'teams_logo' => [
    'driver' => 'local',
    'root' => storage_path('app/public/teams/logo'),
    'url' => env('APP_URL').'/teams/logo', // or you can use "url('teams/logo')," 
    'visibility' => 'public',
], 
person Kiran Patel    schedule 20.11.2018

Нужно было добавить http:// в APP_URL внутри .env

person Viktor    schedule 20.11.2018
comment
Лучше всего писать весь URL-адрес с протоколами. - person Kiran Patel; 21.11.2018

Расширение Link Shell для Windows

Чтобы сделать создание символических ссылок более удобным для пользователя, лучше всего использовать расширение Link Shell для проводника Windows. [Вы загружаете этот инструмент отсюда][1]. Нажмите Link Shell Extension и запустите загруженный файл. Если вы используете Windows 7 или 8, вы также должны скачать и установить библиотеку Visual C++. Это уже присутствует в Windows 10. После открытия нажмите «ОК» и нажмите «Установить».

Выберите «Да», чтобы снова открыть проводник Windows. Теперь вы можете щелкнуть правой кнопкой мыши папку или файл и выбрать «Выбрать источник ссылки». Это папка, на которую вы хотите сослаться. Затем перейдите в папку, в которую должна прийти ссылка, нажмите «Отбросить как…» и выберите «Символическая ссылка».

Вы можете просто удалить символическую ссылку без исчезновения оригинала. В меню Drop As вы также можете выбрать жесткую ссылку. Такая ссылка может быть сделана только на том же диске и имеет то преимущество, что если, например, вы удалите фотографии D: \ Holiday, вы все равно можете получить доступ к фотографиям через жесткую ссылку в C: \ Users \ \ Images \ Holiday картинки .

Есть ряд вещей, за которыми вы должны следить. Не создавайте символические ссылки в символических ссылках, не создавайте символические ссылки на другую символическую ссылку и не создавайте символическую ссылку с тем же именем, что и у папки, которая уже находится в целевом расположении. Первые два вызывают проблемы, например, со сканерами вирусов, которые поэтому могут зависнуть. Но если вы придерживаетесь этого, то вам не нужно беспокоиться ни о чем другом.

Источник: https://pcmweb.nl/artikelen/windows-10/werken-met-symbolic-links-in-windows-10/?API_COOKIE_REDIRECTED=True

person Tjeu Moonen    schedule 21.02.2019

У меня была та же проблема, я много искал в Интернете и не нашел решения, но я решил эту проблему, просто использовал Storage::url() вместо asset().

используйте Illuminate\Support\Facades\Storage;

Вот и все.

person Hadi Janbaz    schedule 21.08.2020