4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【SpringBoot】画像表示する2つの方法(2/2)

Last updated at Posted at 2022-02-17

#SpringBoot2で画像表示
今回は二つ目の画像表示方法を書いていきます。
②画像データをBase64に変換しimgタグに直接埋め込む方法。

今回の画像表示の方が前回のやり方よりもシンプルなので実装しやすいと思います。
一つ目の画像表示についてはこちらから↓
SpringBoot2で画像表示する2つの方法(1/2)
##全体の流れ
①サーバサイドで画像をバイト列に変換しその後、Base64に変換
②HTMLのimgタグのsrc属性にBase64文字列を埋め込む
##各ファイルを作成
####controllerを作成する
画像ファイルをバイト列に変換後、Base64に変換してます。
下記文字列を追加し画面にデータを渡してます。
data:image/png;base64,

ImageController.java
@Controller
public class ImageController {
	@GetMapping("/getImage")
	public String getImage(Model model){
		File fileImg = new File("img/testimg.png");
		try {
			byte[] byteImg = Files.readAllBytes(fileImg.toPath());
			String base64Data = Base64.getEncoder().encodeToString(byteImg);
			model.addAttribute("base64Data","data:image/png;base64,"+base64Data);
		}catch(IOException e) {
			return null;
		}
		return "image";
	}
}

####htmlを作成する
<th:src>にControllerから受け取ったキーをセット

image.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
	<title>画像表示</title>
</head>
<body>
	<p>画像表示</p>
	<img th:src="${base64Data}">
</body>
</html>
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?