当前位置: 首页 > 知识库问答 >
问题:

如何强制图像立即出现

桂志诚
2023-03-14

我用这种方法上传文件

@Override
public void store(MultipartFile file, AnimalEntity animalEntity) {
    String filename = animalEntity.getNameString() + animalEntity.getAge() + ".jpg";
    try (InputStream inputStream = file.getInputStream()) {
            Files.copy(inputStream, this.rootLocation.resolve(filename), StandardCopyOption.REPLACE_EXISTING);
        }
    } catch (IOException e) {
        throw new StorageException("Failed to store file " + filename, e);
    }

并通过以下方式显示图像:

<img alt="" src="" th:alt="${dog.id}" th:src="@{${dog.getNameString()} + ${dog.getAge()} + '.jpg'}"> 

图像只有在重新启动应用程序后才可见。我不知道为什么以及如何解决这个问题。

顺便说一句,我如何点文件而不是使用整个路径:

private String location = "C:\\Users\\XXX\\Documents\\Projekty\\IntelliJ\\shelter\\src\\main\\resources\\static\\photos";

共有1个答案

劳和雅
2023-03-14

显示图像的应用程序会在您替换之前加载它,因此您必须检测何时有更改。您可以使用WatchService来做到这一点,这里已经回答了:Java如何检测文件更改

 类似资料:
  • 我已经使用下面的命令从一个Docker文件构建了一个Docker映像。 当我试图用相同的命令重建它时,它使用的构建缓存如下所示: 缓存显示已安装aerospike。但是,我在从这个映像生成的容器中找不到它,所以我想在不使用缓存的情况下重建这个映像。如何强制Docker在没有缓存的情况下重建一个干净的映像?

  • 基本上,从接收一个单击事件,然后我需要多次更改HTML元素,问题是WebView只显示最后一次更改,这意味着渲染不是立即进行的。 问题:如何制作

  • 强制结束有托盘图标的进程后,需要把鼠标移到托盘图标时,图标才会消失。想图标立即消失,用以下代码即可: FindWindow $0 "Shell_TrayWnd" FindWindow $0 "TrayNotifyWnd" "" $0 FindWindow $1 "ToolBarWindow32" "" $0 ;Win2K StrCmp $1 0 0 +3 FindWindow $0 "SysPag

  • 问题内容: 我需要打印上面有几个背景图像的报告页面。但是只有这些图像无法打印。这些图像实际上是图形的徽标,因此在报告中非常重要。 我还有另一个选择,可以裁剪它们并将其作为标记包含在页面中,但这是最后一个选择。因此,在此之前,我想知道是否有任何方法可以强制打印这些图像?有人可以帮我吗? 问题答案: 默认情况下,浏览器在打印页面时将忽略后台CSS规则,并且您无法使用CSS克服此问题。 用户将需要更改其

  • 问题内容: 背景 我正在为两个公益网站编写和使用一个非常简单的基于CGI的(Perl)内容管理工具。它为网站管理员提供事件的HTML表单,这些表单将填写字段(日期,位置,标题,描述,链接等)并保存。在该表格上,我允许管理员上传与事件相关的图像。在显示表单的HTML页面上,我还显示了上传图片的预览(HTML img标签)。 问题 当管理员想要更改图片时,会发生此问题。他只需要点击“浏览”按钮,选择一