The problem is here:
String p_text = request.getParameter("p_data");
String gallery_nm = request.getParameter("upload_wall_gallery");
From How to upload files to server using JSP/Servlet? answer, you should get your parameters as FileItem
which isFormField()
methods returns true
. Posting the relevant code fragment from the answer:
for (FileItem item : formItems) {
if (item.isFormField()) {
// Process regular form field (input type="text|radio|checkbox|etc", select, etc).
String fieldname = item.getFieldName();
String fieldvalue = item.getString();
// ... (do your job here)
} else {
// Process form file field (input type="file").
String fieldname = item.getFieldName();
String filename = FilenameUtils.getName(item.getName());
InputStream filecontent = item.getInputStream();
// ... (do your job here)
}
}
Solution: move your other request parameters handling to the else
section when calling if (!item.isFormField())
.
for (FileItem item : formItems) {
// processes only fields that are not form fields
if (!item.isFormField()) {
String fileName = new File(item.getName()).getName();
fileName1+=fileName;
String filePath = uploadPath + File.separator + fileName;
File storeFile = new File(filePath);
// saves the file on disk
item.write(storeFile);
} else {
//here...
String fieldname = item.getFieldName();
String fieldvalue = item.getString();
if (fieldname.equals("p_data")) {
//logic goes here...
} else if (fieldname.equals("upload_wall_gallery")) {
//next logic goes here...
}
}
}