文件-pdf预览
注意点:(因为FileInputStream线上流文件是读取不到的,用InputStream)
将文件url转换成URL格式,再转换成String类型,这种方法还是会报同样的错
URL url = new URL(path);
FileInputStream fin = new FileInputStream(url.toString());
最后还是用了InputStream
URL url = new URL(path);
InputStream fin = url.openStream();
@RequestMapping(value="/show_attach",method=RequestMethod.GET)
@ApiOperation(value="pdf预览功能",notes="pdf预览功能")
public void show_attach(String path,HttpServletResponse response){
InputStream fin = null;
OutputStream os = null;
try {
//String path = request.getParameter("D:\\upload\\f3d82b07fe8d4a51b6852451b5a940f4.pdf");//网络图片地址
//String path ="https://www.txzongjiao.cn/uploud/37dcfa1f649a479289e2a93d2df6e2dc.pdf";
URL url = new URL(path);
//String path ="D:\\upload\\f3d82b07fe8d4a51b6852451b5a940f4.pdf";
response.setContentType("text/html; charset=UTF-8");
//String type = request.getParameter("type");
String type ="pdf";
if("pdf".equalsIgnoreCase(type)){
response.setContentType("application/pdf");
}else{
response.setContentType("image/"+type);
}
fin = url.openStream();
os = response.getOutputStream();
int count = 0;
byte[] buffer = new byte[1024 * 1024];
while ((count =fin.read(buffer)) != -1){
os.write(buffer, 0,count);
}
os.flush();
}catch (Exception e) {
e.printStackTrace();
} finally {
if (os !=null){
try {
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fin !=null){
try {
fin.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}