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.