package com.dzbh.bhdd.controller;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLDecoder;
/**
* 保函预览接口
*/
@Controller
@RequestMapping("/imgio")
public class ImgIOController {
private static Logger logger=Logger.getRootLogger();
@RequestMapping(value="/img")
public void imgIO(String url,HttpServletRequest request,HttpServletResponse response) throws IOException{
FileInputStream fis=null;
OutputStream toClient=null;
try {
String type="";
String urlPath=URLDecoder.decode(url);
if(url.endsWith("jpg")){
type = "image/jpeg";
}else if(url.endsWith("png")){
type = "image/png";
}else if (url.endsWith("html")) {
type="text/html";
}else if (url.endsWith("pdf")) {
type="application/pdf";
}else{
type = "/*";
}
File file=new File(urlPath);
if (file.exists()) {
fis = new FileInputStream(urlPath); // 以byte流的方式打开文件
int i=fis.available(); //得到文件大小
// System.out.println("文件路径:"+urlPath);
// System.out.println("文件大小:"+i);
byte data[]=new byte[i];
fis.read(data); //读数据
response.setContentType(type); //设置返回的文件类型
toClient =response.getOutputStream(); //得到向客户端输出二进制数据的对象
toClient.write(data); //输出数据
toClient.flush();
toClient.close();
fis.close();
}else{
logger.info("图片不存在---》"+urlPath);
}
} catch (Exception e) {
logger.error("用户断开页面,异常停止流的输出");
}finally{
if(toClient != null){
toClient.flush();
toClient.close();
}
if(fis != null){
fis.close();
}
}
}
}
图片/PDF图片预览
最新推荐文章于 2023-05-24 17:12:38 发布