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

Posted

技术标签:

【中文标题】上传的图片不显示在网页上【英文标题】:Uploaded images not showing up on web page 【发布时间】:2021-02-21 21:10:41 【问题描述】:

我正在尝试在我的 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" >

奇怪的是:它有时有效,但似乎没有规律。

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

【问题讨论】:

&lt;img&gt; 标签是什么样的? src 路径是否正确?当您使用此网址“在新标签页中打开”时,您会得到什么吗? 对不起,@tadman!原来问题不在于代码本身。感谢您尝试提供帮助! 【参考方案1】:

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

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

【讨论】:

很高兴发布答案而不是删除这个答案,让这些知识随着时间的流逝而消失。有一天可能会帮助别人。

以上是关于上传的图片不显示在网页上的主要内容,如果未能解决你的问题,请参考以下文章

FTP上传网页后显示不了图片和js,听别人说是路径问题 请问怎么改

为啥我做的网页传到网上只能显示图片 显示不出文字

如何把网页上的PHP图片下载后成为JPG格式

mvc视图中怎么上传图片并显示

jsp中怎样把图片显示在界面上?

请问网站后台上传图片显示不出来是怎么回事呢?