解決 Spring Boot Rest 服務中的檔案下載問題
從 Spring Boot REST 服務下載檔案可能會遇到錯誤。為了解決這些問題,我們檢查提供的伺服器端程式碼:
<code class="java">@RequestMapping(path="/downloadFile",method=RequestMethod.GET) public ResponseEntity<InputStreamReader> downloadDocument(...) { ... return ResponseEntity.ok()...body(i); }</code>
識別問題
問題可能在於使用InputStreamReader,這可能會導致瀏覽器下載失敗。
解決方案選項
<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>
<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>
實作細節
以上是如何修復 Spring Boot REST 服務中的檔案下載錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!