java 文件流输出pdf格式,url路径(http)及本地路径文件
url路径
@RequestMapping("/outPutUrl")
public void outPutUrl(HttpServletRequest request, HttpServletResponse response) throws Exception {
String path = "http://192.168.1.42:8001/test/document/pdf/TA2014006728.pdf";
DataInputStream in = null;
URL url = new URL(path);
HttpURLConnection urlCon = (HttpURLConnection)url.openConnection();
urlCon.setConnectTimeout(6000);
urlCon.setReadTimeout(6000);
int code = urlCon.getResponseCode();
if (code != HttpURLConnection.HTTP_OK) {
throw new Exception("文件读取失败");
}
// 读文件流
in = new DataInputStream(urlCon.getInputStream());
response.setContentType("application/pdf;charset=UTF-8");
OutputStream out = response.getOutputStream();
byte[] b = new byte[1024];
int read;
while ((read = in.read(b)) != -1) {
out.write(b, 0, read);
}
in.close();
out.flush();
out.close();
}
本地路径
@RequestMapping("/outPutLocal")
public void outPutLocal(HttpServletRequest request, HttpServletResponse response) throws Exception {
String path = "E://test.pdf";
File file = new File(path.replace("/", "\\"));
FileInputStream is = new FileInputStream(file);
response.setContentType("application/pdf;charset=UTF-8");
OutputStream out = response.getOutputStream();
byte[] b = new byte[1024];
int read;
while ((read = is.read(b)) != -1) {
out.write(b, 0, read);
}
is.close();
out.flush();
out.close();
}