Angular前端Spring后端文件下载无法工作或损坏。
创始人
2024-10-29 02:00:47
0

问题的可能原因之一是缺少响应头“Content-Disposition”中的文件名参数。为此,在Spring后端中需要使用response对象来设置响应头。

下面是在Spring中设置响应头以支持文件下载的代码示例:

@GetMapping("/downloadFile")
public ResponseEntity downloadFile(@RequestParam("file") String fileName, HttpServletRequest request) {
    // Load file from the file system
    Resource resource = fileStorageService.loadFileAsResource(fileName);

    // Try to determine file's content type
    String contentType = null;
    try {
        contentType = request.getServletContext().getMimeType(resource.getFile().getAbsolutePath());
    } catch (IOException ex) {
        logger.info("Could not determine file type.");
    }

    // Fallback to the default content type if type could not be determined
    if(contentType == null) {
        contentType = "application/octet-stream";
    }

    return ResponseEntity.ok()
            .contentType(MediaType.parseMediaType(contentType))
            .header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + resource.getFilename() + "\"")
            .body(resource);
}

在上述示例中,我们使用“HttpHeaders.CONTENT_DISPOSITION”设置了响应头中的“Content-Disposition”参数,并将其值设置为“attachment”,这是告诉Fron-end将响应解释为下载文件的正确方法。我们还指定了“filename”值,以便Frontend可以为下载的文件指定名称。

当Angular前端调用此API时,它将从Spring后端接收具有正确文件名的响应,并且文件应该可以正常下载。

总之,确保正确设置响应头通常可以解决Angular前端Spring后端文件下载无法工作或损坏的问题。

相关内容

热门资讯

透视了解"hh po... 透视了解"hh poker辅助器先试用"竟然真的是有辅助神器(哔哩哔哩)亲,关键说明,hh poke...
出乎意料的是"掌中乐... 出乎意料的是"掌中乐游戏中心破解版"真是确实有辅助插件(哔哩哔哩)亲,关键说明,掌中乐游戏中心破解版...
透视推荐"拱趴大菠萝... 透视推荐"拱趴大菠萝万能挂"都是是有辅助技巧(哔哩哔哩)拱趴大菠萝万能挂辅助器是一种具有地方特色的麻...
2026版教程"四川... 2026版教程"四川游戏家园辅助"好像存在有辅助教程(哔哩哔哩)1、四川游戏家园辅助模拟器是什么优化...
透视解密"hhpok... 透视解密"hhpoker软件安装包"切实有辅助器(哔哩哔哩)1、很好的工具软件,可以解锁游戏的hhp...
据统计"多乐够级脚本... 据统计"多乐够级脚本"竟然是真的有辅助app(哔哩哔哩)一、多乐够级脚本游戏安装教程牌型概率发牌机制...
透视专业"佛手在线大... 透视专业"佛手在线大菠萝智能辅助器"原来真的是有辅助器(哔哩哔哩)1、上手简单,内置详细流程视频教学...
透视了解"樱花之盛挂... 透视了解"樱花之盛挂多少钱"好像存在有辅助app(哔哩哔哩)1、樱花之盛挂多少钱脚本辅助下载、樱花之...
透视普及"约局吧游戏... 透视普及"约局吧游戏挂"一直有辅助神器(哔哩哔哩)1)约局吧游戏挂辅助插件:进一步探索约局吧游戏挂辅...
现就发布提示"闲来潮... 现就发布提示"闲来潮汕辅助"果然真的有辅助软件(哔哩哔哩)1、闲来潮汕辅助透视辅助软件激活码多个强度...