一、服务器端的静态图片。
1.1 基于ImageIO来实现。
public void getMap(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
response.setContentType("image/png");
String path = "e:/maprequest.png";
BufferedImage bi = ImageIO.read(new File(path));
ImageIO.write(bi, "png", response.getOutputStream());
}
1.2基于FileInputStream 和OutputStream来实现
public void getMap(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException{
try{
FileInputStream hFile = new FileInputStream("e:\\map.GIF"); // 以byte流的方式打开文件 d:\1.gif
int i=hFile.available(); //得到文件大小
byte data[]=new byte[i];
hFile.read(data); //读数据
hFile.close();
response.setContentType("image/png"); //设置返回的文件类型
OutputStream toClient=response.getOutputStream(); //得到向客户端输出二进制数据的对象
toClient.write(data); //输出数据
toClient.close();
}
catch(IOException e) //错误处理
{
PrintWriter toClient = response.getWriter(); //得到向客户端输出文本的对象
response.setContentType("text/html;charset=UTF-8");
toClient.write("无法打开图片!");
toClient.close();
}
}