각도 2에서 파일을 다운로드하고 싶습니다. 제 문제는 Spring REST API에서 얻은 모든 파일이 파일 크기의 두 배입니다.Spring REST API를 통해 Angular 2로 다운로드 한 파일의 크기가 두 배입니다. 왜?
각도 발췌문 :
return this.authHttp.get(this.restAPI + '/downloadFile/' + fileId)
.toPromise()
.then(response => {
// var arrayBufferView = new Uint8Array(response.arrayBuffer());
// var blob = new Blob([ arrayBufferView ], { type: response.headers.get("Content-Type") });
// return blob;
return new Blob([response.arrayBuffer()], { type: response.headers.get("Content-Type")})
})
.catch(this.handleError);
봄 REST 발췌문 :
@RequestMapping(value = "/downloadFile2/{fileId}",
method = RequestMethod.GET)
public void downloadFileHandler2(@RequestHeader("Authorization") String token,
@PathVariable String fileId, HttpServletResponse response) throws IOException {
changeToCustomerDataBase(token);
File file = projectService.readFromDB(fileId);
response.addHeader("Content-Disposition", "attachment; filename="+file.getName());
response.setContentType(Files.probeContentType(file.toPath()));
response.setContentLengthLong(file.length());
FileInputStream fis = new FileInputStream(file);
int c;
while((c = fis.read()) > -1) {
response.getOutputStream().write(c);
}
response.flushBuffer();
fis.close();
}
파일, 데이터베이스에서 나오는 타르가 원래 크기를 가지고있다.
무엇이 잘못 되었나요? 내가 뭔가 잊었 니? 어떤 도움을 주셔서 감사합니다.