集成第三方下载文件接口思路

本文介绍了如何在Java中集成第三方下载文件的接口,主要步骤包括:利用HttpServletResponse封装响应,从第三方接口获取数据流,以及将IO输出流转为输入流写入响应,从而实现文件的下载功能。

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

一、传入HttpServletResponse用于封装响应
public void download(@Context HttpServletResponse response);
二、从第三方接口获取数据流
public void downloadReport(OutputStream reportOutput) throws Exception {
	HttpClient httpClient = new HttpClient("url").method(HttpClient.GET).setResponseOutput(reportOutput);
}
三、将IO输出流转为输入流并存入响应
import org.apache.commons.io.IOUtils;

/**
 * 将IO输出流转为输入流并存入响应
 * @param fileName
 * @param outputStream
 * @param response
 * @throws Exception
 */
public void downloadReport(String fileName,ByteArrayOutputStream outputStream,HttpServletResponse response) throws Exception {
    InputStream input = null;
	try {
		input = new ByteArrayInputStream(outputStream.toByteArray());
		response.reset();
		response.setContentType(MediaType.APPLICATION_OCTET_STREAM);
		response.setCharacterEncoding("UTF-8");
		response.addHeader("Content-Disposition", "attachment; filename=\""+ new String(fileName.getBytes("UTF-8"), "iso8859-1") + "\"");
		IOUtils.copyLarge(input, response.getOutputStream());
		response.setStatus(HttpServletResponse.SC_OK);
		response.flushBuffer();
	} finally {
		IOUtils.closeQuietly(input);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值