Załadowanie i zwrócenie pliku w jednym requescie

0

Potrzebuje pobrac plik z dysku i od razu zwrócic go do zapisu równiez na dysk(tak jakbym pobierał coś ze storny webowej). Takie trochę nietypowe zachowanie. Z samym pobraniem nie ma problemu ale juz zapis to nie. Próbuje zrobić to przez IOUtils ale nic z tego tym bardziej że mój plik wsadowy to xlsx. Czy ktoś wie jak można to sensownie rozwiazac ? najlepiej aby było to w jednym żadaniu w springu.

0

Ale co dokładnie nie działa? Chcesz kopiować plik z miejsca A do miejsca B na dysku? Bo tak zrozumiałem to co napisałeś - https://www.baeldung.com/java-copy-file

0

@damianem: samo kopiowanie nie jest problem ale potrzebuje to zrobić tak że po załadowaniu wyskakuje mi okno gdzie zapisać plik. I najlepiej w jednym rządaniu.
Czy postem ładuje plik i od razu wyskakuje mi okienko gdziue zapisać ten plik :)

0

Nie bardzo rozumiem w czym jest problem. Możesz pokazać kod który ci nie działa? Tak z palca, coś a'la:

	@PostMapping("/")
	public ResponseEntity<Resource> handleFileUpload(@RequestParam("file") MultipartFile file) {
            return ResponseEntity.ok(file.getResource());
	}

nie pójdzie?

1

@Dev007:

Potrzebuje pobrac plik z dysku i od razu zwrócic go do zapisu równiez na dysk(tak jakbym pobierał coś ze storny webowej).

No ale co to znaczy od razu go zwrócić?

Takie trochę nietypowe zachowanie.

No co ty...

Z samym pobraniem nie ma problemu ale juz zapis to nie. Próbuje zrobić to przez IOUtils

FileChannels?
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/channels/FileChannel.html

1

do teg momentu to wiem ale potrzenuje aby zwroił mi plik do zapisu. I musi byc to pliks xsl albo xslx . W MediaType nie wiem za bardzo której opcji użyc.

@Dev007: No świetnie, ale to mogłes pokazać co już masz i napisać konkretnie z czym masz problem. Nie umiesz ustawić content disposition?

    @PostMapping(value = "/", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
    public ResponseEntity<Resource> handleFileUpload(@RequestParam("file") MultipartFile file) {
            return ResponseEntity.ok().header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=dupa.xlsx").body(file.getResource());
    }
0

@Shalom: dokładnie mi o to chodzilo. Dziękuje

0

Przyznam ze nie pojmuje po co ci taki endpoint, bo on w zasadzie jedyne co robi to przewala dane bez sensu przez serwer, no ale co kto lubi :D

0

@Shalom: taki rozkas z góry :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1