java使用浏览器请求下载pdf文件
代码
public static void downloadPdf(String pdfFileUrl, String fileName) {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
if (null == requestAttributes) {
throw new RuntimeException("请求失败");
}
HttpServletResponse response = requestAttributes.getResponse();
ServletOutputStream outputStream = null;
InputStream inputStream = null;
try {
URL urlFile = new URL(pdfFileUrl);
HttpURLConnection conn = (HttpURLConnection) urlFile.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
inputStream = conn.getInputStream();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
outputStream = response.getOutputStream();
byte[] buffer = new byte[1024];
int len;
while( (len = inputStream.read(buffer)) != -1 ){
outputStream.write(buffer, 0, len);
}
outputStream.flush();
} catch (Exception e) {
log.error("【下载PDF文件失败】原因:{}", e.getMessage());
e.printStackTrace();
} finally {
try {
if (null != inputStream) {
inputStream.close();
}
if (null != outputStream) {
outputStream.close();
}
} catch (Exception ignored) {}
}
}
随便写个控制器调用该方法...启动(方法省略)
打开浏览器访问你写的方法

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤