我有一个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)
结束
答案 0 :(得分:0)
我意识到“断开的链接”图像是渲染SVG的失败。我将“ data:image / png; base64”修改为“ data:image / svg + xml; base64”。这样就解决了问题。