pdf下载`
代码
public File downloadPdf(String fileUrl, String saveUrl, String fileName, String token, String servletName) {
File file = null;
//转用公用的地址
String urlPublic = this.getUrlPublic(fileUrl, token, servletName);
if(StringUtils.isBlank(urlPublic)){
throw new RuntimeException("请求地址转换异常");
}
try {
URL url = new URL(urlPublic);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//设置超时间为3秒
conn.setConnectTimeout(5 * 1000);
//防止屏蔽程序抓取而返回403错误
conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//得到输入流
InputStream inputStream = conn.getInputStream();
//获取自己数组
byte[] getData = readInputStream(inputStream);
//文件保存位置
// saveDir = new File(saveUrl);
// if (!saveDir.exists()) {
// saveDir.mkdir();
// }
file = new File(saveUrl + "/" + fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(getData);
if (fos != null) {
fos.close();
}
if (inputStream != null) {
inputStream.close();
}
} catch (IOException e) {
throw new RuntimeException("文件下载失败或者流转换异常");
}
return file;
}
//将流转为字节数组
public static byte[] readInputStream(InputStream inputStream) throws IOException {
byte[] buffer = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while ((len = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.close();
return bos.toByteArray();
}