Различие между "настоящим" изображением аватара и изображением "неработающей ссылки", полученным непосредственно из URL-адреса Jira - PullRequest
0 голосов
/ 04 января 2019

У меня есть функция ruby, которая подключается к Jira и возвращает изображение аватара пользователя, закодированное в base64 (см. «RequestImage» ниже). У меня нет никакого способа провести различие между изображением «неработающей ссылки», полученным, когда пользователь не установил изображение для своего профиля, и «фактическим» изображением, если у него есть.

Значения неразличимы в base64 и еще более неразличимы перед их кодированием.

def requestImage(d_url)
 username = JIRA_USER_CONFIG[:username]
 password = JIRA_USER_CONFIG[:password]
 query = CGI::parse(URI::parse(d_url).query)
 url = query['d'][0]
 url = URI.unescape(url)
 uri = URI.parse(url)
 http = Net::HTTP.new(uri.host, uri.port)

 if uri.scheme == 'https'
   http.use_ssl =
   http.verify_mode = OpenSSL::SSL::VERIFY_NONE
 end
 request = Net::HTTP::Get.new(uri.request_uri)
 if !username.nil? && !username.empty?
   request.basic_auth(username, password)
 end
 response = http.request(request).body
 "data:image/png;base64, "+Base64.encode64(response)

конец

1 Ответ

0 голосов
/ 04 января 2019

Я понял, что изображение "неработающей ссылки" - это ошибка рендеринга SVG. Я изменил «data: image / png; base64,» на «data: image / svg + xml; base64,». Это решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...