Я создал ссылку на хранилище с помощью этой команды
php artisan storage:link
Ссылка на хранилище в порядке, и я могу получить доступ к этому файлу через браузер. Идея в том, что я хотел сохранить изображение профиля пользователя на этой ссылке хранилища public/uploads/images/account/47.png
. Мой laravel действует как веб-служба (обслуживает только RESTFUL API) для другой системы (пусть это приложение реагирует + HTML в другом домене)
Вот ответ API, если нам требуется доступ к профилю пользователя picture
"acctType": "BS",
"regDt": "2020-05-15 10:36:26",
"photo": "https://abc.xyz/public/uploads/images/account/47.png",
Проблема в том, что каждый раз, когда мы обновляем / заменяем 47.png, и мы получаем доступ через браузер, вводя этот URL https://abc.xyz/public/uploads/images/account/47.png
изображение не изменилось.
Вот код на laravel - PHP
if($request->hasFile('photo')){
$storage = Storage::putFileAs('public/images/account', $request->photo, $pq010->p9_pq010_acctid.'.png');
$storage_public = Storage::disk('public')->putFileAs('images/account', $request->photo, $pq010->p9_pq010_acctid.'.png');
Я не уверен, что здесь произошло. У нас есть очистка кеша браузера (отключение кеша в инструментах разработчика) и попытка clear:cache
, view:cache
;
Есть идеи о нашей проблеме? спасибо.
Пс. Мы используем laravel 5.8 в PHP 7.2
Обновление 1
Я проверил изображение по FTP, да, файл изменился. Но почему мой браузер обслуживает старый?
Обновление 2
Я тоже пытаюсь удалить файл с этим кодом и, похоже, проблема с кешированием. Изображение было удалено, но если мы пытаемся получить доступ к изображению через ссылку в браузере, оно все еще работает.
$aaa = Storage::disk('public')->delete('images/account/'. $pq010->p9_pq010_acctid.'.png');