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);
}
}