Файл ответа 404 Laravel не найден - PullRequest
0 голосов
/ 30 августа 2018

Я использую Dingo / API, и это преобразователь, который возвращает мне данные

return [
            'id' => $site->id,
            'path' => asset($site->path),
            'siteLink' => $site->site_link,
            'features' => $features,
        ];

Сгенерированная ссылка выглядит хорошо, однако, когда я пытаюсь получить к ней доступ из моего приложения Angular, он говорит, что

Не удалось загрузить ресурс: сервер ответил с состоянием 404 (не найдено) http://api.example.com/public/thumbnails/ySOSYhaCCRcH3t9agsco3ToUwoHxMZJ3r1PhEHlM.jpeg

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Решение.

В filesystems.php локальный диск был указан как диск по умолчанию. Согласно документам local диск должен быть invisible для общего пользования и храниться внутри storage/app. Таким образом я пытался сохранить свой файл, используя диск local и получая к нему доступ по пути public/....

Вариант № 1

Измените filesystems.php диск по умолчанию на public и используйте Storage::url() для получения URL-адреса изображения.

Вариант № 2

Используйте $file->store('path', 'public') и Storage::disk('public')->url('path')

Так что используемый диск указан явно.

Указанный путь будет содержать ссылку, близкую к http://example.com/storage/path.

0 голосов
/ 31 августа 2018

Вы уверены, что ваше изображение хранится в публичной / публичной папке? Помощник asset () генерирует путь ресурса из общей папки. Итак, в вашем свойстве $ site-> path вы получаете путь к вашему изображению, например 'public / yourimage.jpeg'. Попробуйте удалить «public» из вашего пути $ site->.

...