Prevod jarného multipartového súboru na súbor

1. Prehľad

V tomto rýchlom výučbe sa dozvieme rôzne spôsoby premenu jari MultipartFile do a Súbor.

2. MultipartFile # getBytes

MultipartFilegetBytes () metóda ktorá vráti bajtové pole obsahu súboru. Túto metódu môžeme použiť na zapísať bajty do súboru:

MultipartFile multipartFile = new MockMultipartFile ("sourceFile.tmp", "Hello World" .getBytes ()); File file = new File ("src / main / resources / targetFile.tmp"); try (OutputStream os = new FileOutputStream (file)) {os.write (multipartFile.getBytes ()); } assertThat (FileUtils.readFileToString (nový súbor ("src / main / resources / targetFile.tmp"), "UTF-8")) .isEqualTo ("Hello World");

The getBytes () metóda je užitočná pre inštancie kde chceme pred zápisom na disk vykonať ďalšie operácie so súborom, ako napríklad výpočet hodnoty hash súboru.

3. MultipartFile # getInputStream

Ďalej sa pozrime na MultipartFile‘S getInputStream () metóda:

MultipartFile multipartFile = new MockMultipartFile ("sourceFile.tmp", "Hello World" .getBytes ()); InputStream initialStream = multipartFile.getInputStream (); byte [] buffer = nový bajt [initialStream.available ()]; initialStream.read (buffer); Súbor targetFile = nový súbor ("src / main / resources / targetFile.tmp"); try (OutputStream outStream = nový FileOutputStream (targetFile)) {outStream.write (buffer); } assertThat (FileUtils.readFileToString (nový súbor ("src / main / resources / targetFile.tmp"), "UTF-8")) .isEqualTo ("Hello World");

Tu používame getInputStream () metóda na získanie InputStream, prečítajte bajty z InputStream, a uložte ich do byte [] vyrovnávacia pamäť. Potom vytvoríme a Súbor a OutputStream napísať nárazník obsah.

The getInputStream () v prípadoch je napríklad užitočný kde potrebujeme zabaliť InputStream v inom InputStream, povedz napríklad a GZipInputStream ak bol nahraný súbor gzipovaný.

4. MultipartFile # transferTo

Nakoniec sa pozrime na MultipartFile‘S transferTo () metóda:

MultipartFile multipartFile = new MockMultipartFile ("sourceFile.tmp", "Hello World" .getBytes ()); File file = new File ("src / main / resources / targetFile.tmp"); multipartFile.transferTo (súbor); assertThat (FileUtils.readFileToString (nový súbor ("src / main / resources / targetFile.tmp"), "UTF-8")) .isEqualTo ("Hello World");

Pomocou transferTo () metódou, musíme jednoducho vytvoriť Súbor do ktorého chceme napísať bajty, potom odovzdáme tento súbor do transferTo () metóda.

The transferTo () metóda je užitočná keď MultipartFile stačí napísať na a Súbor.

5. Záver

V tomto tutoriáli sme preskúmali spôsoby prevodu jari MultipartFile do a Súbor.

Ako obvykle nájdete všetky príklady kódov na serveri GitHub.


$config[zx-auto] not found$config[zx-overlay] not found