根据url 下载pdf
//下载pdf的方法
@RequestMapping(value = "/saveDate")
@ResponseBody
public void saveDate(String url, HttpServletRequest request,HttpServletResponse response){
try {
//这里我获取当前时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//20180315104140
String timeStamp = sdf.format(new Date();
//根据
URL url = new URL(url);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(30000);
conn.setConnectTimeout(30000);
conn.setDoOutput(true);
conn.setRequestProperty("Connection", "Keep-Alive");
// 设置是否从httpUrlConnection读入,默认情况下是true;
conn.setDoInput(true);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//得到输入流
InputStream in = conn.getInputStream();
//根据时间设置文件名
timeStamp=timeStamp+ ".pdf";
//响应输出流,让用户自己选择保存路径 报文头 可以根据自己下载的文件格式去查询响应的报文头
response.addHeader("Content-disposition",
"attachment; filename=\""+timeStamp+"\"");
response.setContentType("application/pdf");
byte[] buffer = new byte[1024];
int bytesRead = -1;
while ((bytesRead = in.read(buffer)) != -1) {
response.getOutputStream().write(buffer, 0, bytesRead);
}
in.close();
}catch (Exception e){
e.printStackTrace();
}finally {
try {
in.close();
} catch (IOException ex) {
logger.error(ex.getMessage(), ex);
}
try {
out.close();
} catch (IOException ex) {
logger.error(ex.getMessage(), ex);
}
}