【发布时间】:2021-05-27 10:24:08
【问题描述】:
我知道这是一个愚蠢的问题,在互联网上你可以找到如何做到这一点的例子,但基本上我发现了一些太混乱的代码,我什么都不明白...... 我在本地主机上有一个博客数据库,我在那里成功上传了帖子的所有信息(名称、日期、文本和图片)。但我通常无法弄清楚如何从那里显示它。也许有人不会太懒,至少展示一部分代码或想法本身......这里我有一个控制器,我将信息加载到数据库中
@PostMapping("addArticle")
public String postAddArticle(@AuthenticationPrincipal User user, Date timeArticle, @RequestParam String title, String author,
@RequestParam String anons, @RequestParam String text,
@RequestParam("file") MultipartFile file, Model model) {
Byte[] bArray = null;
author = user.getUsername();
Calendar calendar = Calendar.getInstance();
timeArticle = calendar.getTime();
try {
bArray = new Byte[file.getBytes().length];
int i = 0;
for(byte b : file.getBytes()){
bArray[i++] = b;
}
} catch (IOException e) {
e.printStackTrace();
}
Post post = new Post(title,timeArticle, author, anons, text, bArray );
post.setTitle(title);
post.setTimeArticle(timeArticle);
post.setAuthor(author);
post.setAnons(anons);
post.setText(text);
post.setImage(bArray);
postRepository.save(post);
return "redirect:/adminPage";
}
代码有效,所有内容都成功添加到数据库中,包括图像。现在告诉我如何在img标签中用thymeleaf显示?
【问题讨论】:
-
只是附注 - 不要将图像存储在数据库中。
-
我应该把它存放在哪里?以及为什么无法存储在数据库中?我真的不知道,我是新手
-
可能在硬盘上,也可能在云服务上。一切都取决于部署,但它通常存储为任何其他文件资源。
-
为什么不能存入数据库?如果我将这些图片存储在我的硬盘上并以某种方式将这些图片显示在本地主机上,那么如果我将我的项目上传到 github 并且他们下载它以检查一切是否正常,人们怎么能看到它们......
-
数据库的暴露方式相同。本地存储是应用程序部署的本地存储,并非总是您的工作站。
标签: java spring spring-boot spring-data