**private final static String AUTH = "078c8b137f67b39b314c0c36cb34a4e6";**
/**
* 下载PDF文件
*
* @param path 文件路径
* @return 字节数
*/
public String downLoadGet(String path) {
BufferedReader bufferedReader = null;
try {
String downFilesWS = qConfigHelper.getDownFilesWS();
String realPath = downFilesWS + “/files” + path;
logger.info(“电子发票文件地址:{}”, realPath);
HttpGet request = new HttpGet(realPath);
request.setHeader(“Authorization”, "Basic " + AUTH);
HttpResponse response = HttpClients.createDefault().execute(request);
if (response.getStatusLine().getStatusCode() != 200) {
logger.warn("下载文件出错:{}", response.getStatusLine().getStatusCode());
return null;
}
if (response.getEntity().getContent() == null) {
logger.warn("下载文件出错:response.getEntity().getContent() 为空");
return null;
}
InputStream inputStream = response.getEntity().getContent();
return getBase64FromInputStream(inputStream);
} catch (Exception e) {
logger.error("下载pdf文件时异常", e);
throw new BizException("下载pdf文件时异常", e);
} finally {
try {
if (bufferedReader != null) {
bufferedReader.close();
}
} catch (IOException e) {
logger.warn("流关闭异常", e);
}
}
}
/**
* InputStream 转Base64
*
* @param in 文件流
* @return Base64字符串
*/
private String getBase64FromInputStream(InputStream in) {
byte[] data = null;
// 读取图片字节数组
try {
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100];
int rc = 0;
while ((rc = in.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
data = swapStream.toByteArray();
} catch (IOException e) {
logger.warn(“转换出错”, e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
logger.warn(“转换出错”, e);
}
}
}
return new String(Base64.encodeBase64(data));
}