簡體   English   中英

addFlashAttribute和保存數據

[英]addFlashAttribute and holding data

使用addFlashAttribute時應如何保存POST請求中的數據?

@GetMapping("/collage")
public String paintPicture(@ModelAttribute(value="picture") String img){

    //How to  hold 'img' here?
    //When I send GET I want to see the image again (not only after the  redirect).

    return "collage";
}

@PostMapping(value="/sending")
public String redirect(@RequestParam(value="image") MultipartFile img,  RedirectAttributes redirectAttr) throws IOException {

    String imgAsBase64 = Base64.encodeBase64String(img.getBytes());
    redirectAttr.addFlashAttribute("picture",imgAsBase64);
        return "redirect:/collage"; 
}

RequestMappingHandlerAdapterFlashMap (包含Flash變量)存儲為請求屬性。 重定向后,將出現一個全新的請求,因此閃存變量將丟失。 似乎Flash var無法在這里使用。

您可以改用會話:

session.setAttribute("picture", imgAsBase64);

接着

String imgAsBase64 = (String) session.getAttribute("picture");

暫無
暫無

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

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