На моем веб-сайте фотографии я храню фотографии на Amazon S3. Чтобы отобразить их на веб-сайте, я использую подписанные URL-адреса. Это означает, что срок действия URL-адресов изображений истекает. Только само веб-приложение может генерировать допустимые URL-адреса файлов изображений.
Пример URL-адреса будет выглядеть так:
Обратите внимание, что к тому времени, как вы это прочитаете, этот URL-адрес, возможно, уже истек. Ничего страшного, вопрос в формате.
Хотя указанный выше формат URL-адреса отлично работает на веб-сайте, он нарушает работу файлов XML. Причина в том, что символ &
должен быть экранирован.
Например, я пытаюсь реализовать живые плитки Windows 8.1 для веб-сайта, на которые вы можете ссылаться на RSS-канал. Мой RSS-канал находится здесь:
http://www.jungledragon.com/all/rss/promoted
Этот канал будет работать в большинстве программ чтения RSS, однако конструктор плиток Windows 8 (http://www.buildmypinnedsite.com/en) особенно строги в отношении допустимости XML. Здесь вы можете увидеть ошибку, которую он выдает в указанном фиде:
http://notifications.buildmypinnedsite.com/?feed=http://www.jungledragon.com/all/rss/promoted&id=1
Теперь я просто решил закодировать &
, которые являются частью подписанных URL-адресов, с помощью &
или &
. Хотя это может сделать XML действительным, к сожалению, S3 не принимает &
для кодирования. При таком использовании изображение больше не загружается.
Мне интересно, нахожусь ли я в круговой проблеме, которую нельзя решить?