gpt4 book ai didi

java - 如何让我的页面在被覆盖时更新图像

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:22 24 4
gpt4 key购买 nike

每当我的最终用户愿意时,我都会尝试覆盖和更新页面上的图像。他们只需上传一个新图像,它将用相同的文件名替换旧图像,然后网页中的 src 路径不需要更改。然而,它确实有效。文件将被覆盖。但是当我刷新页面时,图像不会更改为新的。奇怪的是,当我进入 IDE (Eclipse) 并双击新的图像文件时,我可以刷新网页,它会显示新的替换的网页。这是我的第一个工作项目,我在其他地方没有找到答案。我将提供代码;

<img th:src="@{/img/uploadedFile.jpg}" alt="image"></img>

    @RequestMapping(method=RequestMethod.POST, value="image")
public String processImageForm(@RequestParam("file") MultipartFile file,
RedirectAttributes redirectAttributes) {


if (file.isEmpty()) {
redirectAttributes.addFlashAttribute("message", "Please select a file to upload");
return "redirect:image";
}

String extension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
Path path = Paths.get(UPLOADED_FOLDER + fileName + extension);

try {
Files.deleteIfExists(path);

} catch (IOException | SecurityException e) {
System.err.println(e);
}

try {
// Get the file and save it somewhere
byte[] bytes = file.getBytes();
Files.write(path, bytes);

redirectAttributes.addFlashAttribute("message", "You successfully uploaded '" + file.getOriginalFilename() + "'");

} catch (IOException e) {
e.printStackTrace();
}

return "redirect:image";
}

}

最佳答案

我的猜测是您没有将该文件复制到正确的位置。

您知道,在 Web 应用程序中,会创建 war 文件,然后将其部署到服务器上。因此,为了更改某些内容,您需要在服务器上更改它(即使从 Eclipse 运行,它也会为您创建一个服务器上下文)。我想这就是您的问题所在 - 您将文件复制到错误的位置。

当您从 Eclipse 运行时,文件会在本地文件系统上正确替换,但这不会更改已部署的 war 应用程序。当您在 Eclipse 中双击它时,它会注意到更改并自动重新部署它,基本上更改了服务器上的文件。

关于java - 如何让我的页面在被覆盖时更新图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50393426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com