Intereting Posts

Получение сломанных изображений из хранилища blob на сайтах Azure

Мой php-код кажется правильным (часть, которая говорит о сохранении памяти).

//talk to blob storage, get links, based on file name $storageClient = $this->azure->get_blob_storage(); foreach($result as $photo) { $sharedAccessUrl[] = $storageClient->generateSharedAccessUrl( 'container', $photo['File'], 'b', 'r', $storageClient ->isoDate(time()), $storageClient ->isoDate(time() + 3000) ); } foreach($sharedAccessUrl as $item) { $pictures[] = $item; } 

Это получает все абсолютные ссылки url, затем я храню его внутри массива, передаю его в представление и извлекаю изображения. Как это:

 <img src="<?php echo $pictures[$i]; ?>" height=100px width="100px"> (where pictures[$i] = http://azure blobstorage etc... 

На моей локальной машине каждый раз, когда я обновляю страницу или просматриваю страницы, где есть изображения, все они загружаются нормально. Однако, когда я загружаю свое приложение на лазурные веб-сайты, часто я получаю сломанные изображения, и тогда вам нужно «обновлять страницу» каждый раз, когда это произойдет, когда изображение появится. Это несмотря на то, что ссылка на изображение правильная, после того, как я нажимаю на элемент проверки на div, где должно появиться изображение.

Я использую «общую версию» лазурных веб-сайтов из трехмесячного пробного периода. Версия PHP точно такая же, как и моя локальная машина, а также .net framework.

Кто-нибудь знает, почему это происходит?

Я проверил журналы, но они не помогают.

Решение:

Кажется, что существует задержка со временем, установленным на хранилище blob и лазурными веб-сайтами.

  $storageClient ->isoDate(time()-60), $storageClient ->isoDate(time() + 3000) 

добавьте -60 в первую строку. И это должно сработать.

Related of "Получение сломанных изображений из хранилища blob на сайтах Azure"

Похоже, ты ответил на свой вопрос. Это не так много задержки, как синхронизация часов и синхронизация времени между вычислительными узлами и узлами хранения. Всегда рекомендуется установить время начала до минуты или двух до того, как вы захотите, чтобы ссылка начала работать (предполагая, что вы намерены использовать ссылку «прямо сейчас»). Никакой вред, начинающийся со времени, возвращается обратно.