获取文件的Content-Type

在Java中,当处理文件下载时,关键步骤包括确定文件的Content-Type(如通过Files.probeContentType方法)并设置HTTP响应头,如Content-Type和Content-Disposition。对于图片,可能设置为inline以在浏览器中直接显示,否则设为attachment以下载。SpringMVC的Resource和ResponseEntity用于构建响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

在进行文件下载的时候,一般都需要配置对应文件的Content-Type响应头。

Java

Path rootLocation = Paths.get("rootPath");
Path path = rootLocation.resolve("filename.png");

// 获取文件的Content-Type
String mimeType = Files.probeContentType(path);


org.springframework.core.io.Resource resource = new UrlResource(path.toUri());
return ResponseEntity.ok()
                        // 设置Content-Type响应头
                        .header(HttpHeaders.CONTENT_TYPE, mimeType)
                        .header(HttpHeaders.CONTENT_DISPOSITION, mimeType.startsWith("image/") ? "inline;filename*=utf-8''" + newFileName : "attachment;filename*=utf-8''" + newFileName)
                        .body(resource);

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值