On 12/18/06, Kranti <[EMAIL PROTECTED]> wrote:
Dear Dariusz ,

this is the first time for me to solve this kind of problem.
could you provide some sample code to address this.

thanks in advance


This is something simplified, may not compile - but exactly shows what
needs to be done.
Passing of blobID may be done in many ways, this way gives you chance
to pass nice URLs without questionmarks, etc.
Something of type
   /dbImg/123456.jpg
   /dbImg/123456.png
etc.

Dariusz Wojtas


public class MyBlobImageServlet extends HttpServlet {
   public static final long EXPIRY_PERIOD = 60 * 60 * 1000;   // one
hour, depends on your needs

   @Override
   protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
       String pathInfo = request.getPathInfo();
       String blobID = calculateBlobID(pathInfo);
       if (blobID == null) {
           // write some debug if needed
           return;
       }

       byte[] imageData = getBlobFromDB(BlobID);
       if (imageData == null) {
           // write some debug if needed
           return;
       }

       long lastModified = ... // depends on the logic, may be
System.currentTimeMillis()

       // set response headers
       response.setContentLength(imageData.length);
       response.setContentType("image/png");   // depends on your
actual blob content, may vary
       response.setDateHeader("Last-Modified", lastModified);
       response.setDateHeader("Expires", lastModified + EXPIRY_PERIOD);


       // send the image to the browser
       try {
           response.getOutputStream().write(imageData);
       } catch (Exception e) {
           // write stacktrace, maybe some more info (request params, etc.)
       }
   }
}


------------
web.xml

Define servlet, then mapping to it.

   <servlet>
       <servlet-name>blobImageServlet</servlet-name>
       <servlet-class>my.package.MyBlobImageServlet</servlet-class>
   </servlet>


   <servlet-mapping>
       <servlet-name>blobImageServlet</servlet-name>
       <url-pattern>/dbImg/*</url-pattern>
   </servlet-mapping>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to