Hi I have todo an Image upload with Preview and I am using a jsp and
servlet for it. I am stuck at a point and not getting a way out.

my JSP page looks like:

<head>
        <meta http-equiv="Content-Type" content="text/html;
charset=UTF-8">
        <script src="jquery-1.2.6.js" type="text/javascript"></script>
        <script type="text/javascript">
            function submitImage() {
                $.post("UploadFileServlet2", {func: "doPost"}, function
(data) {
                    if(!data) {
                        return;
                    }
                    var response;
                    eval ("response = " + data);
                    if (!response)
                        return;
                    }, "json");
                    if(response['imagepath'] != undefined) {
                        var imageurl = response['imagepath'];
                        $('imagediv').css("display", "block");
                        $('<img/>').attr('src', imageurl).appendTo($
('#imagediv'));
                    }
                    else {
                        alert("Unable to upload");
                    }
            }
        </script>
    </head>
    <body>
        <form action="UploadFileServlet2" method="POST"
enctype="multipart/form-data" onsubmit="submitImage();return false;"
id="testForm">
            <input type="file" name="testFile"><br>
            <input type="submit" id="uploadButton" value="Upload" >
        </form>
        <div class="restart"><a href="UploadFileServlet1?redo=1">Redo
It</a></div>
        <div class="imagediv" style="display: none">
        </div>
    </body>

My servlet looks like:
protected void doPost(HttpServletRequest request, HttpServletResponse
response)
    throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();

        try{

           ServletFileUpload servletFileUpload = new ServletFileUpload
(new DiskFileItemFactory());
           List fileItemsList = servletFileUpload.parseRequest
(request);
           Iterator it = fileItemsList.iterator();
           FileItem fileItem = null;
           FileItem fileItemUpload = null;
           String dirName = null;
           String box = null, fieldName = null;
           File saveTo = null;
           String fileName = null;
           long size = 0;
           //Read all parameter name & value ,Here Request is in
multipart
           while (it.hasNext()) {
               fileItem = (FileItem) it.next();
               if(fileItem.isFormField()) {
                   String param = fileItem.getFieldName();
                   if(param.equalsIgnoreCase("box")) {
                      box = fileItem.getString().trim();
                   }
               } else {
                   fieldName = fileItem.getFieldName();
                   if (fieldName.equalsIgnoreCase("testFile")) {
                       fileItemUpload = fileItem;
                   }

                   dirName = "/home/amit/NetBeansProjects/pics/";
                   fileName = fileItem.getName();
                   completeFileName = dirName + fileName;
                   saveTo = new File(completeFileName);
                   size = fileItem.getSize()/1024;
                   try {
                        fileItem.write(saveTo);
                   } catch(Exception ex) {

                   }
                }
            //String box = request.getParameter("box");
            //out.println("The written box is "+box+"<br/>");
            //out.println(" Fd. Name: "+fileItemUpload.getFieldName()
+" name: "+fileItem.getName()+" file string: "+fileItem.getString()+"
fieldname: "+fieldName);
           }
           JSONObject obj = new JSONObject();
           obj.put("imagepath", completeFileName);
           out.println(obj.toString());
           out.flush();

        } catch(Exception ex) {

        }
    }

I am unable to view the image. The control flows to servlet and gets
stuck there. It does not move back to jsp.

Please help, Thanks.

Reply via email to