背景描述:从FTP获取PDF,并将其展示到页面,以达到预览的效果
Java:代码
ftpClient.connnect(ip,port);
ftpClient.setFileType(FTP,.BINARY_FILE_TYPE);
ftpClient.login(userId,password);
ftpClient.changeWorkingDirectory(fileUrl);//定位路径
is = ftpClient.retrieveFileStream(fileName)//获取文件流
if(null == is || ftpClient.getReplyCode() == 550){
throw new Exception("该文件不存在") ;
}
BypeArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int n = 0;
while(-1 != (n = is.read(buffer))){//转成byte[]
output.write(buffer,0,n);
}
context.put("buff",output.toByteArray());//将字节流传往jsp
JSP代码:
byte[] buff = (byte[]) context.get("buff");
response.reset();
response.setContype("application/pdf;charset=utf-8");
outStream = response.getOutputStream();
outStream.write(buff,0,buff.length);
outStream.flush();
response.flushBuffer();
out.clear();
out = pageContext.pushBody();
备注:由于是手打,所以只是打了关键的代码,有些单词可能会少个字母什么的,不过问题不大,仔细琢磨下就能知道是怎么回事