2017-09-01 9 views
0

RESTリクエストに対する応答としてファイルを送信したいと思います。 これを行うための解決策が見つかりました。ファイルをSpring RESTでパッケージとして送信

私の質問はこのプロセスはファイルとしてパッケージを送信しますか?はい、このプロセスはファイルとしてパッケージを送信しますか?この質問・回答は役に立ちましたか?役に立った!受信に遅いインターネット接続がある場合、タイムアウトを受信します(一度に送信されるファイルのため)、またはこれが処理されますか?

ありがとうございました。

コード:

@RequestMapping(value = "/download", method = RequestMethod.GET) 
public ResponseEntity<?> downloadCompressed(@RequestParam("filename") String filename, HttpServletRequest request) { 

    ResponseEntity respEntity = null; 
    byte[] reportBytes = null; 

    File result = new File(Configuration.OUTPUTDIR.getValue() + filename); 
    try { 
     if (result.exists()) { 
      InputStream inputStream = new FileInputStream(Configuration.OUTPUTDIR.getValue() + filename); 
      String type = URLConnection.guessContentTypeFromName(filename); 
      byte[] out = IOUtils.toByteArray(inputStream); 

      HttpHeaders responseHeader = new HttpHeaders(); 
      responseHeader.add("content-disposition", "attachment; filename=" + filename); 
      responseHeader.add("Content-Type", type); 

      respEntity = new ResponseEntity(out, responseHeader, HttpStatus.OK); 
     } else { 
      respEntity = new ResponseEntity("File Not Found", HttpStatus.NOT_FOUND); 
     } 
     return respEntity; 
    } catch (IOException e) { 
     e.printStackTrace(); 
     return respEntity = new ResponseEntity("IO Exception", HttpStatus.INTERNAL_SERVER_ERROR); 
    } 
} 

答えて

0

は最後に、私は、Base64でファイルをエンコードし、JSONファイルなどの作品でそれらを送信することにしました。

関連する問題