Angular前端Spring后端文件下载不起作用或损坏。
创始人
2024-10-29 02:00:45
0

在Spring后端中,可以使用以下代码来实现文件下载:

@GetMapping("/download/{fileName}") public ResponseEntity downloadFile(@PathVariable String fileName) throws IOException { File file = new File(fileName); ByteArrayResource resource = new ByteArrayResource(Files.readAllBytes(file.toPath())); return ResponseEntity.ok() .header(HttpHeaders.CONTENT_DISPOSITION, "attachment;filename=" + file.getName()) .contentLength(file.length()) .contentType(MediaType.APPLICATION_OCTET_STREAM) .body(resource); }

在Angular前端中,可以使用以下代码来下载文件:

downloadFile(fileName: string) { this.http.get('http://localhost:8080/api/download/' + fileName, { responseType: 'blob' }) .subscribe(res => { const a = document.createElement('a'); const objectUrl = URL.createObjectURL(res); a.href = objectUrl; a.download = fileName; a.click(); URL.revokeObjectURL(objectUrl); }); }

这个代码片段使用Angular的HttpClient来发出GET请求以获取文件,并使用Blob作为响应类型,以便在URL.createObjectURL中使用它。downloadFile方法中创建一个a元素,并将其属性设置为用于下载文件的objectUrl。最后,a元素的click()方法被调用以下载文件,文件下载后需要销毁objectUrl以释放内存。

相关内容

热门资讯

关于!微信微乐自建房辅助工具,... 关于!微信微乐自建房辅助工具,微乐家乡麻将自建房辅助app(开挂自建房)方法1)微乐家乡麻将自建房辅...
大家学习交流!微信卡五星辅助器... 大家学习交流!微信卡五星辅助器,微乐小程序免费黑科技(开挂自建房)方法1、很好的工具软件,可以解锁游...
三分钟了解!微乐微信自建房辅助... 三分钟了解!微乐微信自建房辅助工具插件,微乐家乡麻将自建房辅助app(开挂自建房)工具1、三分钟了解...
一分钟教会你!微乐家乡麻将自建... 一分钟教会你!微乐家乡麻将自建房辅助app,微乐自建房脚本免费入口(开挂自建房)方法1、用户打开应用...
分享实测!微信微乐自建房辅助工... 分享实测!微信微乐自建房辅助工具,微乐自建房脚本免费入口(开挂自建房)器1、起透看视 微信微乐自建房...
重大通报!微乐自建房辅助工具脚... 重大通报!微乐自建房辅助工具脚本,微乐小程序免费黑科技(开挂自建房)app微乐自建房辅助工具脚本破解...
如何分辨真伪!微乐微信自建房辅... 如何分辨真伪!微乐微信自建房辅助工具插件,微乐小程序免费黑科技(开挂自建房)技巧1、微乐微信自建房辅...
我来教教你!微乐自建房辅助工具... 我来教教你!微乐自建房辅助工具挂,微乐家乡麻将自建房辅助app(开挂自建房)工具1、玩家可以在微乐家...
重大来袭!微乐自建房辅助工具神... 重大来袭!微乐自建房辅助工具神器,微乐小程序免费黑科技(开挂自建房)器1、游戏颠覆性的策略玩法,独创...
带你了解!微信卡五星辅助器,微... 带你了解!微信卡五星辅助器,微乐自建房脚本免费入口(开挂自建房)方法1、带你了解!微信卡五星辅助器,...