Win a copy of Kotlin in Action this week in the Kotlin forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic

Form containing parameters not passed but file uploaded  RSS feed

 
ibrahim nadir
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have a webform on JSP page which has several parameters(strings and integers) values and a file to be uploaded to the server through a servlet. It is strange to see that i'm able to upload the file on to the server but not able to get the rest of the parameters in the servlet using request.getParameter("someString") Can anyone please find out the problem with my code or guide me?

<form method="POST" enctype="multipart/form-data" action="/cassino/uploadFile" >
<fieldset>
<div class="form-group">
<label >*ID riparazione</label>

<input type="text" name="idRiparazione" />
</div>
<div class="form-group">
<label>*ID mandrino smontato</label>

<input type="text" name="idMandrinoSmontato" />
</div>
<div class="form-group">
<label>*Service livello(SL)</label>
<input type="text" name="serviceLivello" />
</div>
<div class="form-group">
<label>Attachment</label>
<input type="file" name="attachment" class="" id="attach" />
</div>
</fieldset>
</div>
<p class="text-right">
<input type="submit" value="Salva" name="newMacchina" />
<input type="reset" value="Cancella" />
</p>
</form>

and uploadfile.java

@WebServlet( name = "uploadFile", urlPatterns = { "/uploadFile" } )
public class uploadFile extends HttpServlet {
private static final long serialVersionUID = 1L;

private static final int THRESHOLD_SIZE = 1024 * 1024 * 3;
private static final int MAX_FILE_SIZE = 1024 * 1024 * 15;
private static final int MAX_REQUEST_SIZE = 1024 * 1024 * 20;

/**
* handles file upload via HTTP POST method
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// checks if the request actually contains upload file
//ServletFileUpload.isMultipartContent(request);

String idRiparazione = request.getParameter("idRiparazione");
String idMandrinoSmontato = request.getParameter("idMandrinoSmontato");
String serviceLivello = request.getParameter("serviceLivello");

PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>Hello Servlet Get</h1>");
out.println(idMandrinoSmontato);
out.println(serviceLivello);
out.println("</body>");
out.println("</html>");

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(THRESHOLD_SIZE);
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(MAX_FILE_SIZE);
upload.setSizeMax(MAX_REQUEST_SIZE);

// constructs the directory path to store upload file
String uploadPath = "C:\\SKFSFCassino\\uploads\\riparazione\\"; //getServletContext().getRealPath("") + File.separator + UPLOAD_DIRECTORY;
// creates the directory if it does not exist
File uploaddir = new File(uploadPath);
if(!uploaddir.exists())
{
uploaddir.mkdirs();
}

try {
List formItems = upload.parseRequest(request);
Iterator it = formItems.iterator();
// iterates over form's fields
while(it.hasNext())
{
FileItem item = (FileItem)it.next();
// processes only fields that are not form fields
if (!item.isFormField()) {
String fileName = new File(item.getName()).getName();
String filePath = uploadPath + File.separator + fileName;
File storeFile = new File(filePath);
// saves the file on disk
item.write(storeFile);
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//response.sendRedirect(request.getContextPath()+"/modules/SKFsfRepair/new/viewNewContent.jsp");

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException {
throw new ServletException("GET method used with " + getClass( ).getName( )+": POST method required.");
}
 
Praful Thakare
Ranch Hand
Posts: 643
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
with multipart request you won't get get values using request.getParameter(). its discussed previously on java ranch here
 
ibrahim nadir
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank for the response. I have, however, already solved the problem since i couldn't wait to solve it. Thank you
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!