1

Can anyone please tell me why I an getting null value when I doing getParameter... And please do tell how to get data by using request.getParameter with multipart.please.

public class UploadServlet extends HttpServlet {
private boolean isMultipart;
private String filePath;
private int maxFileSize = 50000 * 1024;
private int maxMemSize = 50000 * 1024;
private File file;



public void doPost(HttpServletRequest request,
        HttpServletResponse response)
        throws ServletException, java.io.IOException {

    isMultipart = ServletFileUpload.isMultipartContent(request);
    response.setContentType("text/html");
    java.io.PrintWriter out = response.getWriter();
    if (!isMultipart) {

        return;
    }
    DiskFileItemFactory factory = new DiskFileItemFactory();
      factory.setSizeThreshold(maxMemSize);
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(maxFileSize);
    try {
       List fileItems = upload.parseRequest(request);
        Iterator i = fileItems.iterator();
        while (i.hasNext()) {
            FileItem fi = (FileItem) i.next();
            if (!fi.isFormField()) {
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                String contentType = fi.getContentType();
                boolean isInMemory = fi.isInMemory();
                long sizeInBytes = fi.getSize();
                String filePath="/home/krisnela/Music/";
                if(fileName!="" && fileName!=null){
                          if (fileName.lastIndexOf("/") >= 0) {
                    file = new File(filePath
                            + fileName);
                } else {
                    file = new File(filePath
                            + fileName);
                }
                fi.write(file);
                out.println("Uploaded Filename: " + fileName + "<br>");

                }

            }
        }
           out.println("<h1>"+request.getParameter("himan")+"</h1>");
        out.println("</body>");
        out.println("</html>");
    } catch (Exception ex) {
        out.println(ex);
    }
}
1

1 Answer 1

0

try below code

public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public UploadServlet() {
    super();
    // TODO Auto-generated constructor stub
}

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

}

/**
 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
 */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
       File file = null ;
       int maxFileSize = 5000 * 1024;
       int maxMemSize = 8000 * 1024;
       ServletContext context = request.getServletContext();
       String filePath = context.getInitParameter("file-upload");
       // Verify the content type
       String contentType = request.getContentType();
       if ((contentType.indexOf("multipart/form-data") >= 0)) {

          DiskFileItemFactory factory = new DiskFileItemFactory();
          // maximum size that will be stored in memory
          factory.setSizeThreshold(maxMemSize);
          // Location to save data that is larger than maxMemSize.
          factory.setRepository(new File("c:\\temp"));

          // Create a new file upload handler
          ServletFileUpload upload = new ServletFileUpload(factory);
          // maximum file size to be uploaded.
          upload.setSizeMax( maxFileSize );
          try{ 
             // Parse the request to get file items.
             List fileItems = upload.parseRequest(request);

             // Process the uploaded file items
             Iterator i = fileItems.iterator();


             while ( i.hasNext () ) 
             {
                FileItem fi = (FileItem)i.next();
                if ( !fi.isFormField () )   
                {
                // Get the uploaded file parameters
                String fieldName = fi.getFieldName();
                String fileName = fi.getName();
                boolean isInMemory = fi.isInMemory();
                long sizeInBytes = fi.getSize();
                // Write the file
                if( fileName.lastIndexOf("\\") >= 0 ){
                file = new File( filePath + 
                fileName.substring( fileName.lastIndexOf("\\"))) ;
                }else{
                file = new File( filePath + 
                fileName.substring(fileName.lastIndexOf("\\")+1)) ;
                }
                fi.write( file ) ;
                }
             }
             // code for xlsx files
            InputStream ExcelFileToRead = new FileInputStream(file);
            XSSFWorkbook  wb = new XSSFWorkbook(ExcelFileToRead);
            XSSFWorkbook test = new XSSFWorkbook(); 
            XSSFSheet sheet = wb.getSheetAt(0);
            XSSFRow row; 
            XSSFCell cell;
            Iterator rows = sheet.rowIterator();
                String columns = "";
                row=(XSSFRow) rows.next();
                Iterator cells = row.cellIterator();
                while (cells.hasNext())
                {
                    cell=(XSSFCell) cells.next();
                    columns += cell+",";
                }


                request.setAttribute("columns", columns);
                HttpSession session=request.getSession(true); 
                session.setAttribute("file",file);

                RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("/excel.jsp");
                reqDispatcher.forward(request,response);
          }catch(Exception ex) {
             ex.printStackTrace();
          }
       }
}

}

in web.xml:

<context-param>
    <description>Location to store uploaded file</description>
    <param-name>file-upload</param-name>
    <param-value>
        D:\
     </param-value>
  </context-param>
Sign up to request clarification or add additional context in comments.

1 Comment

all the files are getting uploaded but i am not able to fetch textbox value usingh request.getparameter.....all i am getting is a null value..\

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.