1
blob pngファイルの表示に問題があります。Webページにjava格納されたblob pngファイルを表示する
私はJavaプロジェクトでテストケースを実行します。テストが失敗した場合は、スクリーンショットを作成します。 環境とポリシーの問題のため、イメージをblobにmysqlデータベースに格納する必要があります。このBLOBファイルをダウンロードした場合は.binファイルですが、名前を.pngに変更すると画像が正しく表示されます。
私のテスト結果が表示されているウェブページにこの画像を表示したいとします。私は私のウェブページ(PHP)にこの画像を表示できませんよ、それはバイナリファイルを示し続けている
echo '<img src="data:image/png;base64,'.base64_encode($row->screenshot).'"/>';
:このため は、私はほとんど見つけることを試みました。 私のウェブページでは、私は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();
非常に関連している可能性があるので、画像が最初に保存されていることを確認すると便利です。 – RiggsFolly
@RiggsFolly、コードで更新しました。したがって、appiumでテストを実行していますスクリーンショットを作成してmysqlデータベースに保存して、このイメージをPHPを介してWebページに表示したいと思います。ブロブをダウンロードすると、.binファイルになります。名前を.pngに変更すると、イメージが正常に動作し、完成します。しかし、私はそれをウェブページに表示したいときは、画像はすべての種類の特殊文字で表示されます。 –
BLOBからバイナリイメージデータをコピーし、イメージが正しく表示されるかどうかを確認するために、無料のBASE64エンコードおよび表示サービスを使用しましたか? .. – DTH