将 base64 字符串图像显示为超链接
Display base64 string image as a hyperlink
我正在尝试将已转换为 base64 字符串的图像显示为 "a href" 标签内的 link。
Java方法:
public void TakeScreenShot (String ScenarioName, String Description,JsonHtmlDataHelper jsonHtmlDataHelper)
{
TakesScreenshot takeScreenshotDriver = (TakesScreenshot) driver;
byte[] screenshotData = takeScreenshotDriver.getScreenshotAs(OutputType.BYTES);
JsonObject jsonObjectHtmlReport = new JsonObject();
jsonObjectHtmlReport.addProperty("ScenarioTest", ScenarioName);
String imageData = Base64.encodeBase64String(screenshotData);
String imgTag ="<img src=\"data:image/png;base64, " + imageData + "\" width=\"200\" height=\"150\"/>";
System.out.println(imageData);
jsonObjectHtmlReport.addProperty("TestStepDescription", imgTag);
jsonObjectHtmlReport.addProperty("TestStepResult","PASSED");
jsonHtmlDataHelper.AddProperty(jsonObjectHtmlReport);
}
上述方法正确显示 HTML 中的图像,但我想添加一个 link 将页面重定向到该图像。根据要求,我无法将图像存储在任何地方。
我尝试了以下方法:
<a rel=\"group\" href='#' onclick=\"$.fancybox.open({href:'data:image/png;base64," +imageData + "'})\">Click here</a>;
<a width=\"550\" height=\"190\" href=/ onclick=\"onclick=location.href=\'data:image/png;base64," + imageData + "\'\">click here</a>;
<img src=\"data:image/png;base64, " + imageData + "\" width=\"200\" height=\"150\"/>;
您目前有这个:
String imgTag ="<img src=\"data:image/png;base64, " + imageData + "\" width=\"200\" height=\"150\"/>";
您可以用链接到 data
URL:
的 <a>
标签包围它
String imgTag ="<a href=\"data:image/png;base64," + imageData + "\"><img src=\"data:image/png;base64," + imageData + "\" width=\"200\" height=\"150\"/></a>";
只需使用 href link 标记即可打开空白页面。
您需要将 download="namefile.png"
添加到 <a>
所以它看起来像这样:<a href="data:image/png;base64,..." download="abrakadabra_iLoveCats.jpg">download id</a>
我正在尝试将已转换为 base64 字符串的图像显示为 "a href" 标签内的 link。
Java方法:
public void TakeScreenShot (String ScenarioName, String Description,JsonHtmlDataHelper jsonHtmlDataHelper)
{
TakesScreenshot takeScreenshotDriver = (TakesScreenshot) driver;
byte[] screenshotData = takeScreenshotDriver.getScreenshotAs(OutputType.BYTES);
JsonObject jsonObjectHtmlReport = new JsonObject();
jsonObjectHtmlReport.addProperty("ScenarioTest", ScenarioName);
String imageData = Base64.encodeBase64String(screenshotData);
String imgTag ="<img src=\"data:image/png;base64, " + imageData + "\" width=\"200\" height=\"150\"/>";
System.out.println(imageData);
jsonObjectHtmlReport.addProperty("TestStepDescription", imgTag);
jsonObjectHtmlReport.addProperty("TestStepResult","PASSED");
jsonHtmlDataHelper.AddProperty(jsonObjectHtmlReport);
}
上述方法正确显示 HTML 中的图像,但我想添加一个 link 将页面重定向到该图像。根据要求,我无法将图像存储在任何地方。
我尝试了以下方法:
<a rel=\"group\" href='#' onclick=\"$.fancybox.open({href:'data:image/png;base64," +imageData + "'})\">Click here</a>;
<a width=\"550\" height=\"190\" href=/ onclick=\"onclick=location.href=\'data:image/png;base64," + imageData + "\'\">click here</a>;
<img src=\"data:image/png;base64, " + imageData + "\" width=\"200\" height=\"150\"/>;
您目前有这个:
String imgTag ="<img src=\"data:image/png;base64, " + imageData + "\" width=\"200\" height=\"150\"/>";
您可以用链接到 data
URL:
<a>
标签包围它
String imgTag ="<a href=\"data:image/png;base64," + imageData + "\"><img src=\"data:image/png;base64," + imageData + "\" width=\"200\" height=\"150\"/></a>";
只需使用 href link 标记即可打开空白页面。
您需要将 download="namefile.png"
添加到 <a>
所以它看起来像这样:<a href="data:image/png;base64,..." download="abrakadabra_iLoveCats.jpg">download id</a>