Добрый день, читая это!
Я выполнил функцию загрузки в этой настройке программного обеспечения, но не могу закончить sh часть загрузки ... Выкопал столько, сколько мог, и вот где Я так далеко.
Мой код выглядит так:
Сервер
@GetMapping(value = "/projects/file/download/{filename}/{projectId}")
public ResponseEntity<byte[]> getResource(@PathVariable String filename, @PathVariable Long
projectId,HttpServletResponse response) throws ResourceNotFoundException, IOException {
String fileLocation=//a location that I set, removed logic to make this shorter
File downloadFile= new File(fileLocation);
byte[] isr = Files.readAllBytes(downloadFile.toPath());
String fileName = filename;
HttpHeaders respHeaders = new HttpHeaders();
respHeaders.setContentLength(isr.length);
respHeaders.setContentType(new MediaType("text", "json"));
respHeaders.setCacheControl("must-revalidate, post-check=0, pre-check=0");
respHeaders.set(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + fileName);
return new ResponseEntity<byte[]>(isr, respHeaders, HttpStatus.OK);
}
Angular Сервис
downloadFile(filename: string, projectId: number): Observable<any> {
return this.http.get(`${this.baseUrl}/file/download/` + filename + '/' + projectId, { responseType: 'blob' });
}
Angular Компонент
downloadFile(fl: FileModel) {
//calling service
this.projectSerivce.downloadFile(fl.fileName, this.id).subscribe(response => {
window.open(response.url, '_blank');
});
}
Он достигает сервера и возвращается, а затем открывается новая пустая вкладка браузера и больше ничего не происходит .. Нет ошибки бы то ни было.