在网页上显示 java 个存储的 blob png 文件

Show java stored blob png files on webpage

我在显示 blob png 文件时遇到问题。

所以我在 java 项目中 运行 测试用例,如果测试失败,我会截图。 由于环境和政策问题,我必须将图像存储在 mysql 数据库中的 blob 中。如果我下载这个 blob 文件,它是一个 .bin 文件,但是如果我将它重命名为 .png,图像就会正确显示。

我想在显示我的测试结果的网页中显示此图像。 为此,我尝试了我发现最多的东西:

echo '<img src="data:image/png;base64,'.base64_encode( $row->screenshot ).'"/>';

我无法在我的网页上显示此图片 (php),它一直显示二进制文件。 对于我的网页,我使用了 codeigniter。

所以,我在java项目中的代码是:

File srcFiler = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE); //Appium screenshot
InputStream Screenshot = new ByteArrayInputStream(FileUtils.readFileToByteArray(srcFiler));
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, user, password);

String query = "insert into screenshots (screenshotimage)"
                + "values (?)";

PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setBlob(1, Screenshot);
preparedStmt.execute();
preparedStmt.close();
conn.close();

我找到问题了,我找错地方了。 但也许很高兴知道这是一个正确的解决方案。