【发布时间】:2017-04-12 14:12:29
【问题描述】:
我正在尝试将已转换为 base64 字符串的图像显示为“a href”标签内的链接。
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 格式正确显示图像,但我想添加一个链接,将页面重定向到此图像。根据要求,我不能将图像存储在任何地方。
我尝试了以下方法:
<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\"/>;
【问题讨论】:
-
您不能将您的 imgTag 字符串修改为由 标签包围吗?
-
创建一个服务器端 (java) uri,它将读出图像并将其打印到浏览器
-
它是一个普通的 .htm 文件,它不托管在服务器上。
-
@HarrisJT :你能解释一下用 标签包围字符串是什么意思吗?
-
@Vic 您想链接图像以重定向到该图像吗?没有存储它只需要 imgTag="" + ";
标签: java html css image base64