• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Spring Boot - upload and display img

Object Storage Arubacloud
0 głosów
332 wizyt
pytanie zadane 28 sierpnia 2020 w Java przez nieznajomy121 Nowicjusz (200 p.)


Mój kontroler
 

@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", "Udalo sie wrzucic pliki" + fileNames.toString());
        return "uploadstatusview";
    }
}

Witam, mam mały problem, z którym się męczę od jakiegoś czasu.
Mianowicie prosta web apka. Spring-boot plus thymeleaf, bez bazy danych.
Wrzucam zdjęcie , które się zapisuje w katalogu projektu w folderze uploads i to ładnie działa, ale teraz chciał bym to zdjęcie wrzucić na strone. Moje pytanie brzmi jak mniej więcej się za to zabrać? Stworzyć metodę z @PostMapping, która wysyła dany plik plus do tego jakiś tag z thymeleaf'a czy można to zrobić bezpośrednio przy wrzucaniu? 
Prosił bym ewentualnie o linki do dokumentacji czy coś takiego, z góry dzięki za odpowiedź.

2 odpowiedzi

0 głosów
odpowiedź 29 sierpnia 2020 przez Wiciorny Ekspert (269,710 p.)

Ja bym do tego tak podszedł. Masz lokalnie jakiś img, więc z tego względu możesz wywołać to na bazie akcji ...

czyli generalnie rzecz biorąc TYMINAEK pozwala za pomocą swojego tagu wyświetlić dany obrazek 
 

<img th:src="@{/images/test.png}"/>

więc z durigej strony...  chcesz urzyć do tego restowej metody, to albo wywołać wtedy tymianek po "tym mapowaniu, po wykonaniu tej metody", ale spróbować przekazać do body z tej metody taki fragment. 
https://www.thymeleaf.org/doc/articles/standardurlsyntax.html

0 głosów
odpowiedź 29 sierpnia 2020 przez mbabane Szeryf (79,280 p.)

czy można to zrobić bezpośrednio przy wrzucaniu?

Tak, wtedy return metody, którą zaprezentowałeś będzie posiadł nazwę template gdzie zostanie użyty odpowiedni tag.

W sumie masz tam:

 model.addAttribute("msg", "Udalo sie wrzucic pliki" + fileNames.toString());

więc może wstaw odpowiedni tag thymelaf (nawet tak roboczo, żeby przekonać się, że to działa)  do uploadstatusview.

Podobne pytania

0 głosów
1 odpowiedź 346 wizyt
0 głosów
2 odpowiedzi 346 wizyt
pytanie zadane 15 stycznia 2017 w Java przez Ola Kalisz Początkujący (320 p.)
0 głosów
0 odpowiedzi 243 wizyt
pytanie zadane 2 września 2022 w Java przez michal23 Nowicjusz (160 p.)

92,555 zapytań

141,402 odpowiedzi

319,543 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...