簡體   English   中英

Spring boot 和 thymeleaf - 上傳和顯示圖片

[英]Spring boot and thymeleaf - upload and display image

我正在用 Thymeleaf 制作一個簡單的 Spring Boot 應用程序。 我有一個控制器來上傳圖像,它保存在項目文件夾uploads 中 請有人向我解釋如何在上傳后立即顯示它? 我應該使用 @PostMapping 還是只使用一些 Thymeleaf 標簽?

我的控制器類

@Controller
public class UploadFileController {
    public static String uploadDirectory = System.getProperty("user.dir") + "/uploads";

    @RequestMapping("/")
    public String uploadPage(Model model) {
        return "uploadview";
    }

    @RequestMapping("/upload")
    public String upload(Model model, @RequestParam("files")MultipartFile[] files) {
        StringBuilder fileNames = new StringBuilder();

        for(MultipartFile file : files) {
            Path fileNameAndPath = Paths.get(uploadDirectory, file.getOriginalFilename());
            fileNames.append(file.getOriginalFilename());
            try {
                Files.write(fileNameAndPath, file.getBytes());
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        model.addAttribute("msg", "Uploaded files: " + fileNames.toString());
        return "uploadstatusview";
    }


更新我正在添加屏幕截圖。

  1. 選擇文件
  2. 選擇的文件,例如 test1.png - 上傳文件
  3. 比它發送給我另一個帶有上傳端點的 html 模板。 到目前為止,它正在發揮作用。 圖片它正在保存在項目中,但現在我想看到這張圖片就像它在屏幕截圖上一樣希望它像那樣

如果我理解正確,您希望通過單獨的 url 請求獲取新上傳的圖像。 您可以在處理上傳時將圖像存儲到 List 或 Queue 中,然后根據請求,為存儲在 List 中的每個圖像編譯模板
您的模板可能如下所示:

<img src="${imgPath}" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM