Символ «амперсанд» неверно закодирован в изображениях onebox

Здравствуйте,

Я заметил, что некоторые ссылки не загружаются на платформе Discourse, которую я помогаю администрировать.

Например, эта:

Та же проблема возникает и здесь, поэтому я предполагаю, что дело в том, что некоторые сайты используют другие методы?

Здесь всё выглядит нормально:

Есть какие-то идеи?

Это совершенно нормально и не содержит ошибок

Странно. Когда я впервые написал пост, превью не показывало изображение. Вот что происходит на упомянутом мной экземпляре Discourse…

Просто чёрный квадрат.

Это происходит потому, что исходное изображение указано с протоколом http, а ваш сайт использует https. Изображение необходимо скопировать и отобразить локально через https, на что требуется время. Это не ошибка.

Если вы хотите, чтобы это исправили, настойчиво требуйте от целевого сайта корректной поддержки https.

3 лайка

Спасибо, Джефф.

По этому URL…

сломанное изображение имеет следующую ссылку:

https://i.guim.co.uk/img/media/00899b988f9403a165de18ce59374793651b0a82/0_2234_3629_2177/master/3629.jpg?width=1200&height=630&quality=85&auto=format&fit=crop&overlay-align=bottom%2Cleft&overlay-width=100p&overlay-base64=L2ltZy9zdGF0aWMvb3ZlcmxheXMvdGctZGVmYXVsdC5wbmc&enable=upscale&s=d5b96d8c2dd24b8d6723bba9f91f6724

Когда я вставляю эту ссылку в поле сообщения, я вижу следующее:

А ссылка на это изображение:

https://i.guim.co.uk/img/media/00899b988f9403a165de18ce59374793651b0a82/0_2234_3629_2177/master/3629.jpg?width=1200&height=630&quality=85&auto=format&fit=crop&overlay-align=bottom%2Cleft&overlay-width=100p&overlay-base64=L2ltZy9zdGF0aWMvb3ZlcmxheXMvdGctZGVmYXVsdC5wbmc&enable=upscale&s=d5b96d8c2dd24b8d6723bba9f91f6724

Откуда берутся все эти «&» в первой ссылке (ссылка на изображение, сгенерированная Onebox, как я полагаю…)?

Заранее спасибо за любые пояснения.

1 лайк

Это связано с кодировкой символов?

Ах, возможно, вы правы. Я определённо наблюдал такое поведение с изображениями по HTTP, но, возможно, кодировка изображения для оригинального onebox некорректна и каким-то образом исправляется после загрузки изображения? Допустим, любое изображение с амперсандами в URL будет затронуто таким образом, так что вот как воспроизвести проблему… Что вы думаете, @techapj?

3 лайка

Вот пример поведения с HTTP-изображениями:

Вот неработающая ссылка:

http://static1.squarespace.com/static/598b5f49d482e97953d22893/t/59f745fdf9619a825c94ab96/1509377632841/22A-wooden-planet-inverted-no-blue-640x360.jpg?format=1500w

Всё работает нормально, если вручную изменить её на HTTPS:

Кстати, Discourse — это здорово.

2 лайка

Правильно, этот тоже будет исправлен локальной загрузкой через некоторое время.

2 лайка

Ммм, эта миниатюра теперь работает здесь, но на Discourse, с которым я помогаю, она всё ещё не отображается…

Эта проблема теперь исправлена через:

3 лайка

Спасибо, @techAPJ. Нужно ли мне что-то сделать, чтобы получить обновление?

Обновления до последней версии должно быть достаточно.

2 лайка