--- android/PicturePosterService/src/dk/thoerup/pictureposterservice/PictureServlet.java 2010/02/21 21:05:41 605 +++ android/PicturePosterService/src/dk/thoerup/pictureposterservice/PictureServlet.java 2010/02/21 21:10:17 606 @@ -1,8 +1,10 @@ package dk.thoerup.pictureposterservice; import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.IOException; import java.io.OutputStream; +import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -15,22 +17,30 @@ public class PictureServlet extends HttpServlet { private static final long serialVersionUID = 1L; + Logger logger = Logger.getLogger(PictureServlet.class.getName()); protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - String pic = request.getParameter("pic"); - response.setContentType("image/jpeg"); - - FileInputStream in = new FileInputStream( "/home/app/data/PicturePoster/" + pic + ".jpeg"); - OutputStream out = response.getOutputStream(); - - - int len; - byte buf[] = new byte[8192]; - while ( (len = in.read(buf)) != -1) { - out.write(buf, 0, len); + String file = ""; + try { + String pic = request.getParameter("pic"); + response.setContentType("image/jpeg"); + file = "/home/app/data/PicturePoster/" + pic + ".jpeg"; + + FileInputStream in = new FileInputStream( file ); + OutputStream out = response.getOutputStream(); + + + int len; + byte buf[] = new byte[8192]; + while ( (len = in.read(buf)) != -1) { + out.write(buf, 0, len); + } + in.close(); + out.close(); + } catch (FileNotFoundException ex) { + logger.info("PictureServlet, file not found: " + file); + response.sendError(404); } - in.close(); - out.close(); }