Rumah >Java >javaTutorial >Bagaimana untuk Membetulkan Ralat Muat Turun Fail dalam Perkhidmatan Spring Boot REST Anda?

Bagaimana untuk Membetulkan Ralat Muat Turun Fail dalam Perkhidmatan Spring Boot REST Anda?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-28 04:40:01549semak imbas

How to Fix File Download Errors in Your Spring Boot REST Service?

Menyelesaikan Isu Muat Turun Fail dalam Perkhidmatan Spring Boot Rest

Muat turun fail daripada perkhidmatan Spring Boot REST boleh menghadapi ralat. Untuk menyelesaikan isu ini, kami meneliti kod sebelah pelayan yang disediakan:

<code class="java">@RequestMapping(path="/downloadFile",method=RequestMethod.GET)
public  ResponseEntity<InputStreamReader> downloadDocument(...) {
    ...
    return ResponseEntity.ok()...body(i);
}</code>

Mengenal pasti Isu

Isu mungkin timbul dengan menggunakan InputStreamReader, yang mungkin menyebabkan penyemak imbas muat turun gagal.

Pilihan Penyelesaian

  1. Menggunakan Sumber InputStream:
<code class="java">@RequestMapping(path="/download",method=RequestMethod.GET)
public ResponseEntity<Resource> download(...) {
    ...
    InputStreamResource resource = new InputStreamResource(new FileInputStream(file));
    return ResponseEntity.ok()...body(resource);
}</code>
  1. Menggunakan ByteArrayResource:
<code class="java">@RequestMapping(path="/download",method=RequestMethod.GET)
public ResponseEntity<Resource> download(...) {
    ...
    ByteArrayResource resource = new ByteArrayResource(Files.readAllBytes(path));
    return ResponseEntity.ok()...body(resource);
}</code>

Butiran Pelaksanaan

  • InputStreamResource membenarkan penggunaan InputStream secara langsung, tetapi dicadangkan tidak boleh digunakan untuk fail besar.
  • ByteArrayResource memuatkan keseluruhan fail ke dalam memori dan lebih baik untuk fail kecil.

Dengan melaksanakan salah satu daripada penyelesaian ini, muat turun fail harus diteruskan dengan jayanya dari perkhidmatan Spring Boot REST.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat Muat Turun Fail dalam Perkhidmatan Spring Boot REST Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn