public static void FileDownload(String name,String url,HttpServletResponse response) {
// 统一资源
URL url1= null;
try {
response.setContentType("application/octet-stream");
String downloadFileName = URLEncoder.encode(name,"UTF-8");
response.addHeader("Content-Disposition","attachment;filename="+ downloadFileName+".pdf");
url1 = new URL(url);
// 连接类的父类,抽象类
URLConnection conn = url1.openConnection();
// http的连接类
HttpURLConnection httpURLConnection = (HttpURLConnection) conn;
//设置请求方式,默认是GET
httpURLConnection.setRequestMethod("GET");
// 设置字符编码
httpURLConnection.setRequestProperty("Charset", "UTF-8");
// 打开到此 URL引用的资源的通信链接(如果尚未建立这样的连接)
httpURLConnection.connect();
// 建立链接从请求中获取数据
BufferedInputStream bin = new BufferedInputStream(httpURLConnection.getInputStream());
//弹窗保存路径
OutputStream out = response.getOutputStream();
int size = 0;
long len = 0;
byte[] buf = new byte[2048];
while ((size = bin.read(buf)) != -1){
len += size;
out.write(buf,0,size);
}
//关闭资源
bin.close();
out.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (ProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
JAVA-URL文件下载-弹出下载框
最新推荐文章于 2023-10-08 17:16:46 发布