上传的图片未显示在网页上

时间:2020-11-09 22:41:46

标签: java mysql spring-boot thymeleaf

我正在尝试在我的Springboot / Thymeleaf Web应用程序上设置用户的个人资料图片和横幅,该应用程序正在我的系统上运行和托管。

上传工作正常-文件已正确写入其文件夹,并且文件路径以字符串形式保存到MySQL数据库。

当尝试从文件路径显示同一图像时,它会抛出404并表示无法加载该图像。

我使用Springboot在控制器中设置文件名和路径:

byte[] bytes = file.getBytes();
int extIndex = file.getOriginalFilename().length() - 4;
String newFileName = businessId + file.getOriginalFilename().substring(extIndex);
Path path = Paths.get("c://Users//farru//git//CapstoneNAFJ//" +
"CapstoneNAFJ//src//main//resources//static//img//" + newFileName);
Files.write(path, bytes);
            
String imgPath = "img/" + newFileName;
            
currBusiness.setBanner(imgPath);
businessRepository.save(currBusiness);

然后我尝试用Thymeleaf编辑img标签的来源

<img th:src="@{${business.banner}}" alt="profile picture">

奇怪的是:它有时是有效的,但似乎没有一种模式。

即使很奇怪,从文件夹中删除图像后,如果转到网页上并使用Inspect Element更改img标签的src属性,图像也将完美显示。尽管我清除了我的缓存(并重新编译了代码,删除并重建了MySQL表等),但每一个都是如此

1 个答案:

答案 0 :(得分:1)

事实证明,这与我的代码无关,这只是eclipse中的一项设置,这意味着IDE不会检查对项目文件夹的更新(在这种情况下,将添加图像文件)。

通过检查首选项 => 常规 => 工作区 => 使用本机挂钩或轮询刷新来解决此问题