List of usage examples for org.apache.commons.fileupload.util Streams asString
public static String asString(InputStream pStream, String pEncoding) throws IOException
From source file:org.tangram.spring.StreamingMultipartResolver.java
@Override public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException { ServletFileUpload upload = new ServletFileUpload(); upload.setFileSizeMax(maxUploadSize); String encoding = determineEncoding(request); Map<String, String[]> multipartParameters = new HashMap<>(); MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<>(); Map<String, String> multipartFileContentTypes = new HashMap<>(); try {/*from w ww . j av a 2 s .c om*/ FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if (item.isFormField()) { String value = Streams.asString(stream, encoding); String[] curParam = multipartParameters.get(name); if (curParam == null) { // simple form field multipartParameters.put(name, new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(name, newParam); } } else { try { MultipartFile file = new StreamingMultipartFile(item); multipartFiles.add(name, file); multipartFileContentTypes.put(name, file.getContentType()); } catch (final IOException e) { LOG.warn("({})", e.getCause().getMessage(), e); MultipartFile file = new MultipartFile() { @Override public String getName() { return ""; } @Override public String getOriginalFilename() { return e.getCause().getMessage(); } @Override public String getContentType() { return ERROR; } @Override public boolean isEmpty() { return true; } @Override public long getSize() { return 0L; } @Override public byte[] getBytes() throws IOException { return new byte[0]; } @Override public InputStream getInputStream() throws IOException { return null; } @Override public void transferTo(File file) throws IOException, IllegalStateException { throw new UnsupportedOperationException("NYI", e); } }; multipartFiles.add(name, file); multipartFileContentTypes.put(name, file.getContentType()); } // try/catch } // if } // while } catch (IOException | FileUploadException e) { throw new MultipartException("Error uploading a file", e); } // try/catch return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParameters, multipartFileContentTypes); }
From source file:org.vosao.servlet.FileUploadServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //logger.info("File upload..."); ServletFileUpload upload = new ServletFileUpload(); upload.setFileSizeMax(MAX_SIZE);/*from ww w . j ava2 s . c o m*/ upload.setHeaderEncoding("UTF-8"); String message = null; Map<String, String> parameters = new HashMap<String, String>(); List<UploadItem> uploadItems = new ArrayList<UploadItem>(); try { FileItemIterator iter; try { iter = upload.getItemIterator(request); FileItemStream imageFileItem = null; String folder = null; InputStream stream = null; InputStream filestream = null; byte[] fileData = null; parameters.put(IMAGE_UPLOAD_PAGE_ID, VosaoContext.getInstance().getSession().getString(IMAGE_UPLOAD_PAGE_ID)); if (request.getParameter("CKEditorFuncNum") != null) { ckeditorFuncNum = request.getParameter("CKEditorFuncNum"); } while (iter.hasNext()) { FileItemStream item = iter.next(); stream = item.openStream(); if (item.isFormField()) { parameters.put(item.getFieldName(), Streams.asString(stream, "UTF-8")); } else { UploadItem uploadItem = new UploadItem(); uploadItem.item = item; uploadItem.data = StreamUtil.readFileStream(stream); uploadItems.add(uploadItem); } } //logger.info(parameters.toString()); for (UploadItem item : uploadItems) { message = processFile(item.item, item.data, parameters); } } catch (FileUploadException e) { logger.error(Messages.get("request_parsing_error")); throw new UploadException(Messages.get("request_parsing_error")); } } catch (UploadException e) { message = createMessage("error", e.getMessage()); logger.error(message); } if (isCKeditorUpload(parameters)) { response.setContentType("text/html"); } else { response.setContentType("text/plain"); } response.setStatus(200); response.getWriter().write(message); }
From source file:org.vosao.servlet.FormSendServlet.java
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String message = null;//from www . ja va2 s .c o m Map<String, String> parameters = new HashMap<String, String>(); List<FileItem> files = new ArrayList<FileItem>(); try { if (request.getContentType().startsWith("multipart/form-data")) { ServletFileUpload upload = new ServletFileUpload(); upload.setFileSizeMax(MAX_SIZE); upload.setHeaderEncoding("UTF-8"); FileItemIterator iter; try { iter = upload.getItemIterator(request); InputStream stream = null; while (iter.hasNext()) { FileItemStream item = iter.next(); stream = item.openStream(); if (item.isFormField()) { parameters.put(item.getFieldName(), Streams.asString(stream, "UTF-8")); } else { files.add(new FileItem(item, StreamUtil.readFileStream(stream))); } } } catch (FileUploadException e) { logger.error(e.getMessage()); throw new UploadException(Messages.get("request_parsing_error")); } } else { for (Object key : request.getParameterMap().keySet()) { String paramName = (String) key; parameters.put(paramName, request.getParameter(paramName)); } } message = processForm(parameters, files, request); } catch (UploadException e) { message = createMessage("error", e.getMessage()); logger.error(message); } catch (Exception e) { message = createMessage("error", e.getMessage()); logger.error(message); e.printStackTrace(); } response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); response.setStatus(200); response.getWriter().write(message); }
From source file:ru.arch_timeline.spring.multipart.StreamingMultipartResolver.java
public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException { // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(); upload.setFileSizeMax(maxUploadSize); String encoding = determineEncoding(request); //Map<String, MultipartFile> multipartFiles = new HashMap<String, MultipartFile>(); Map<String, String[]> multipartParameters = new HashMap<String, String[]>(); Map<String, String> multipartContentTypes = new HashMap<String, String>(); MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<String, MultipartFile>(); // Parse the request try {/*from w ww .ja v a 2 s .c om*/ FileItemIterator iter = upload.getItemIterator(request); while (iter.hasNext()) { FileItemStream item = iter.next(); String name = item.getFieldName(); InputStream stream = item.openStream(); if (item.isFormField()) { String value = Streams.asString(stream, encoding); String[] curParam = (String[]) multipartParameters.get(name); if (curParam == null) { // simple form field multipartParameters.put(name, new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParameters.put(name, newParam); } } else { // Process the input stream MultipartFile file = new StreamingMultipartFile(item); multipartFiles.add(name, file); multipartContentTypes.put(name, file.getContentType()); } } } catch (IOException e) { throw new MultipartException("something went wrong here", e); } catch (FileUploadException e) { throw new MultipartException("something went wrong here", e); } return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParameters, multipartContentTypes); }