JSP code :
Servlet code to get request parameter:
package com.hp;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.write("call POST with multipart form data");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*
*/
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean exit = false;
if (!ServletFileUpload.isMultipartContent(request)) {
throw new IllegalArgumentException("Request is not multipart, please 'multipart/form-data' enctype for your form.");
}
ServletFileUpload uploadHandler = new ServletFileUpload(new DiskFileItemFactory());
PrintWriter writer = response.getWriter();
response.setContentType("text/plain");
String comments=request.getParameter("comment");
try {
List items = uploadHandler.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
System.out.println("Name: " + item.getName());
System.out.println("Size: " + item.getSize());
System.out.println("Type: " + item.getContentType());
File file = File.createTempFile(item.getName(), "");
item.write(file);
writer.write("{\"name\":\""+ item.getName() + "\",\"type\":\"" + item.getContentType() + "\",\"size\":\"" + item.getSize() + "\"}");
break; // assume we only get one file at a time
}
else{
if(item.getFieldName().equalsIgnoreCase("comment")){
String comment = item.getString();
System.out.println("comment "+comment);
if(comment == null
comment.trim().isEmpty()){
writer.write("{\"error\":\""+"yes"+"\",\"errorType\":\""+"NullComment"+"\"}");
exit = true;
}
}
else if(item.getFieldName().equalsIgnoreCase("reference")){
String ref = item.getString();
System.out.println("reference "+ref);
if(ref == null
ref.trim().isEmpty()){
writer.write("{\"error\":\""+"yes"+"\",\"errorType\":\""+"NullReference"+"\"}");
exit = true;
}
}
if(exit == true){
break;
}
}
}
} catch (FileUploadException e) {
throw new RuntimeException(e);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
writer.close();
}
}
}
Comment :
Reference :
Servlet code to get request parameter:
package com.hp;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter writer = response.getWriter();
writer.write("call POST with multipart form data");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*
*/
@SuppressWarnings("unchecked")
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
boolean exit = false;
if (!ServletFileUpload.isMultipartContent(request)) {
throw new IllegalArgumentException("Request is not multipart, please 'multipart/form-data' enctype for your form.");
}
ServletFileUpload uploadHandler = new ServletFileUpload(new DiskFileItemFactory());
PrintWriter writer = response.getWriter();
response.setContentType("text/plain");
String comments=request.getParameter("comment");
try {
List
for (FileItem item : items) {
if (!item.isFormField()) {
System.out.println("Name: " + item.getName());
System.out.println("Size: " + item.getSize());
System.out.println("Type: " + item.getContentType());
File file = File.createTempFile(item.getName(), "");
item.write(file);
writer.write("{\"name\":\""+ item.getName() + "\",\"type\":\"" + item.getContentType() + "\",\"size\":\"" + item.getSize() + "\"}");
break; // assume we only get one file at a time
}
else{
if(item.getFieldName().equalsIgnoreCase("comment")){
String comment = item.getString();
System.out.println("comment "+comment);
if(comment == null
comment.trim().isEmpty()){
writer.write("{\"error\":\""+"yes"+"\",\"errorType\":\""+"NullComment"+"\"}");
exit = true;
}
}
else if(item.getFieldName().equalsIgnoreCase("reference")){
String ref = item.getString();
System.out.println("reference "+ref);
if(ref == null
ref.trim().isEmpty()){
writer.write("{\"error\":\""+"yes"+"\",\"errorType\":\""+"NullReference"+"\"}");
exit = true;
}
}
if(exit == true){
break;
}
}
}
} catch (FileUploadException e) {
throw new RuntimeException(e);
} catch (Exception e) {
throw new RuntimeException(e);
} finally {
writer.close();
}
}
}
No comments:
Post a Comment