(Если какой-то редактор поможет мне лучше озаглавить этот вопрос, я буду более чем благодарен)
У меня есть контроллер, у которого есть метод, который обслуживает изображение PNG в хранилище, в основном он говорит:
public function background($id) {
$campaign = Campaign::find($id);
$file = Storage::get($campaign->background);
return new Response($file, 200);
}
В маршрутах у меня есть:
Route::get('/campaign/background/{id}',
'CampaignController@background')->name('campaign.background');
Итак, если я вызываю маршрут внутри тега <img ...>
HTML, он отлично работает:
<img src="{{ route('campaign.background', [id => 1]) }}" class="...">
Это даст мне фоновое изображение для класса Campaign с идентификатором 1
Теперь моя проблема в том, что когда я пытаюсь загрузить несколько imgs, как в карусели Bootstrap 4, у меня есть:
<div id="caro" class="carousel slide" data-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active">
<img class="d-block w-100" src="{{ route('campaign.background', ['id' => '4']) }}?auto=yes" alt="First slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="{{ route('campaign.background', ['id' => '14']) }}?auto=yes" alt="Second slide">
</div>
<div class="carousel-item">
<img class="d-block w-100" src="{{ route('campaign.background', ['id' => '2']) }}?auto=yes" alt="Third slide">
</div>
</div>
</div>
Только первое изображение (id 4) отображается правильно, id 14 и 2 иногда загружаются правильно, но в большинстве случаев это не так, они показывают только ALT.
Я думаю, что это должно быть что-то, связанное с кешем, если я перезагружаю страницу несколько раз, все imgs появляются.
Я использую Laravel 5.7, PHP 7.2.10, Apache 2.4.35 поверх Windows 10