Как решить проблему с CORS при получении фотографий в Laravel 10?

Почему у меня код ответа 404 при открытии удаленной фотографии с использованием Laravel, в то время как код ответа 200 при открытии локальной фотографии с одинаковыми настройками?
  • 16 февраля 2024 г. 10:38
Ответы на вопрос 2
Проблема с CORS (Cross-Origin Resource Sharing) возникает, когда браузер блокирует запросы на открытие ресурсов с другого домена или субдомена. Чтобы решить эту проблему, вам необходимо настроить CORS на вашем сервере Laravel.

Если у вас код ответа 404 при открытии удаленной фотографии, возможны следующие причины:

1. Неправильная конфигурация файла `config/cors.php` в Laravel. Убедитесь, что вы добавили домен или IP-адрес, с которого вы отправляете запросы, в поле `allowedOrigins` в файле `config/cors.php`. Например:

```php
'allowedOrigins' => ['http://example.com'],
```

2. Неправильная конфигурация файла `.htaccess` на вашем сервере. Убедитесь, что вы добавили следующие строки в свой `.htaccess` файл:

```apache
Header set Access-Control-Allow-Origin "*"
```

3. Блокировка запросов на стороне сервера, откуда вы получаете фотографию. Если вы получаете фотографию с другого сервера, убедитесь, что сервер разрешает запросы с вашего домена или IP-адреса.

4. Ошибка в URL фотографии. Убедитесь, что URL фотографии правильный и фотография доступна.

Что касается получения кода ответа 200 при открытии локальной фотографии с использованием Laravel, это может быть связано с различными причинами, такими как правильное размещение фотографии на сервере и настройка файла .htaccess.

Если приведенные выше решения не помогли вам, пожалуйста, уточните более подробную информацию о вашей проблеме и предоставьте соответствующий код, чтобы мы могли помочь вам найти решение.
1) Где текст CORS ошибки? 

2) Почему в роутах /images/tickets/{filename} а в примерах https://api.dev.site.ru/images/cat.jpg ?

images/tickets != images Этот урл вообще не должен обрабатываться твои контроллером (ImageController@showTicketImage).
Похожие вопросы