‘’’
/**
* 获取文件类型
*/
protected static FileNameMap fileNameMap = URLConnection.getFileNameMap();
@Override
public void downLoadFromUrl(HttpServletResponse response,String urlStr, String fileName) throws IOException {
URL url = new URL(urlStr);
String contentType = fileNameMap.getContentTypeFor(fileName);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
InputStream in = conn.getInputStream();
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString()));
// 设置响应给客户端的文件格式
response.setContentType(contentType);
// 获取响应体的输出流
ServletOutputStream os = response.getOutputStream();
// 用 BufferedOutputStream(处理流/包装流)来包装上面那个输出流
BufferedOutputStream bos = new BufferedOutputStream(os);
byte[] buff = new byte[1024];
int len = 0;
// 输入流读入字节码内容
while ((len = in.read(buff, 0, 1024)) != -1) {
// 输出流写出字节码内容
bos.write(buff, 0, len);
}
// 关闭输出流
if (bos != null)
bos.close();
// 关闭输入流
if (in != null)
bos.close();
}
‘’’