List of usage examples for org.apache.commons.fileupload.disk DiskFileItem getString
public String getString(final String charset) throws UnsupportedEncodingException
From source file:org.debux.webmotion.server.handler.ParametersMultipartHandler.java
@Override public void handle(Mapping mapping, Call call) { HttpContext context = call.getContext(); HttpServletRequest request = context.getRequest(); Map<String, Object> extractParameters = call.getExtractParameters(); boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { FileItemFactory fileItemFactory = new DiskFileItemFactory(0, null); ServletFileUpload upload = new ServletFileUpload(fileItemFactory); HttpSession session = request.getSession(); if (session != null) { log.debug("Set file upload listener"); FileProgressListener listener = new FileProgressListener(); upload.setProgressListener(listener); session.setAttribute(FileProgressListener.SESSION_ATTRIBUTE_NAME, listener); call.setFileUploadRequest(true); } else {/* www. j ava 2 s . co m*/ log.warn("No session for file upload listener"); } try { List<DiskFileItem> items = upload.parseRequest(request); for (DiskFileItem item : items) { String fieldName = item.getFieldName(); if (item.isFormField()) { String fieldValue; try { fieldValue = item.getString("UTF-8"); } catch (UnsupportedEncodingException e) { fieldValue = item.getString(); } String[] values = (String[]) extractParameters.get(fieldName); if (values == null) { values = new String[] { fieldValue }; extractParameters.put(fieldName, values); } else { values = (String[]) ArrayUtils.add(values, fieldValue); extractParameters.put(fieldName, values); } } else { UploadFile uploadFile = new UploadFile(); File file = item.getStoreLocation(); uploadFile.setFile(file); String fileName = item.getName(); uploadFile.setName(fileName); long fileSize = item.getSize(); uploadFile.setSize(fileSize); String fileType = item.getContentType(); uploadFile.setContentType(fileType); extractParameters.put(fieldName, uploadFile); } } } catch (FileUploadException fue) { throw new WebMotionException("Error during upload file on server", fue); } } else { Map<String, String[]> parameters = context.getParameters(); extractParameters.putAll(parameters); } }