Изображение AppEngine не обновляется при замене файла

1

У меня есть приложение, в котором пользователи могут загружать изображение профиля. если им нравится, позже они могут загрузить замену. Прекрасно работает в традиционных настройках, но файл url не обновляется до нового файла CloudStorageTools :: getImageServingUrl ($ object_image_file); Возвращает старый URL-адрес обслуживающего изображения, путь для нового файла такой же, как и для старого. Я попытался отсоединить файл до того, как его новая версия будет загружена, но это тоже не сработает. Если я заменяю данный файл на заданном URL-адресе новым содержимым фотографии, как мне заставить URL-адрес обслуживать новый образ, не удерживаться на прежнем? Когда я смотрю в Консоль разработчика, фотография была правильно обновлена, но url, возвращаемый вызовом getImageServingUrl, возвращает содержимое исходного файла даже спустя долгое время. В традиционной среде я бы добавил время для автоматического обновления, но это другое. благодаря

Теги:
image
google-app-engine
refresh

1 ответ

1
Лучший ответ

Вызов CloudStorageTools :: getImageServingUrl ($ object_image_file) на том же пути хранения облака, но с другим содержимым файла не поддерживается, и ожидается, что поведение, которое вы видите.

Вам нужно будет ввести что-то в имени файла, которое сделает его уникальным, а затем вызовите CloudStorageTools :: getImageServingUrl ($ object_image_file).

  • 0
    Благодарю вас. Есть ли другой способ сделать это, или я собираюсь столкнуться с той же проблемой. Могу ли я вместо этого CloudStorageTools :: getPublicUrl ()? Как мне установить публичное чтение, если я использую move_uploaded_file? Я предпочитаю адаптировать скрипт к другому методу, а не менять систему отсчета.
  • 0
    Вы можете использовать getPublicUrl, если вы не используете какие-либо другие функции getImageServingUrl (). Вы можете установить ACL в опциях контекста, когда вызываете файл move_uploaded. $ gs_options = ['gs' => ['acl' => 'public-read',],];
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню