List of usage examples for org.apache.commons.fileupload.servlet ServletFileUpload setHeaderEncoding
public void setHeaderEncoding(String encoding)
From source file:servletExperimento.tratamento.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.//from www.ja v a 2 s. com * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); HttpSession sessao = request.getSession(false); String tipo = (String) sessao.getAttribute("tipoTratamento"); if (tipo.equals("adicionar")) { try { boolean isMultiPart = ServletFileUpload.isMultipartContent(request); if (isMultiPart) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); out.print(upload.getHeaderEncoding()); upload.setHeaderEncoding("UTF-8"); out.print(upload.getHeaderEncoding()); List items; ArrayList<String> arquivos = new ArrayList<String>(); String caminho = getServletContext().getRealPath("/experimentador/experimento/tecnica") + "/"; items = upload.parseRequest(request); Iterator iter = items.iterator(); String desc = null, nome = null, tipoTec = null, art = null; while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { String name = item.getFieldName(); String value = new String(item.getString().getBytes("ISO-8859-1"), "UTF-8"); if (value.equals("") || value == null) { response.sendRedirect("experimentador/experimento/plano_tecnica.jsp?msg=1"); } else { if (name.equals("nome")) { nome = value; } if (name.equals("descricao")) { desc = value; } if (name.equals("tipo_tecnica")) { tipoTec = value; } if (name.equals("rdArtefato")) { art = value; } if (name.equals("idexperimento")) { // tecnica.setExperimento(Controladores.Controlador.getExperimentoAtual()); caminho = caminho + "tecnica_" + value + "/"; //?lvaro: 2\ -> / } } } else { if (!item.getName().equals("")) { String path = new String(); path = item.getName(); this.inserirImagemDiretorio(item, caminho); arquivos.add(path); } } } if (desc != null && nome != null) { if (Controladores.Controlador.criarTratamento(nome, desc, tipoTec, art)) { if (!arquivos.isEmpty()) { int tam = arquivos.size(); for (int t = 0; t < tam; t++) { ArquivoTratamento arq = new ArquivoTratamento(); //arq.setTratamento(tecnica); -> tecnica //arq.setPath_arquivo(arquivos.get(t)); Controladores.Controlador.criarArquivoTratamento( Controladores.Controlador.listarTratamentos() .get(Controladores.Controlador.listarTratamentos().size() - 1), arquivos.get(t)); } } response.sendRedirect("experimentador/experimento/plano_tecnica.jsp?msg=0"); } else { response.sendRedirect("experimentador/experimento/plano_tecnica.jsp?msg=2"); } } } } catch (FileUploadException ex) { Logger.getLogger(tratamento.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(tratamento.class.getName()).log(Level.SEVERE, null, ex); } finally { out.close(); } } }
From source file:talend.ext.images.server.ImageUploadServlet.java
private String onUpload(HttpServletRequest request, ImageUploadInfo imageUploadInfo) { try {//from www. j av a2s . c om boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(4096); factory.setRepository(new File(ImageServerInfo.getInstance().getTempPath())); ServletFileUpload sevletFileUpload = new ServletFileUpload(factory); sevletFileUpload.setSizeMax(4 * 1024 * 1024); sevletFileUpload.setHeaderEncoding("utf8"); //$NON-NLS-1$ ProgressListener progressListener = new ProgressListener() { @Override public void update(long pBytesRead, long pContentLength, int pItems) { if (logger.isDebugEnabled()) { logger.debug("We are currently reading item " + pItems); //$NON-NLS-1$ if (pContentLength == -1) { logger.debug("So far, " + pBytesRead + " bytes have been read."); //$NON-NLS-1$//$NON-NLS-2$ } else { logger.debug("So far, " + pBytesRead + " of " + pContentLength //$NON-NLS-1$//$NON-NLS-2$ + " bytes have been read."); //$NON-NLS-1$ } } } }; sevletFileUpload.setProgressListener(progressListener); List<FileItem> fileItems = null; fileItems = sevletFileUpload.parseRequest(request); if (fileItems != null && fileItems.size() > 0) { Object uploadFileItemObj = getFileItem(fileItems, defaultFilefieldName); if (uploadFileItemObj != null) { FileItem uploadFileItem = (FileItem) uploadFileItemObj; Object catalogNameObj = getFileItem(fileItems, defaultCatalogfieldName); if (catalogNameObj != null) { imageUploadInfo.targetCatalogName = (String) catalogNameObj; } Object fileNameObj = getFileItem(fileItems, defaultFileNamefieldName); if (fileNameObj != null) { imageUploadInfo.targetFileShortName = (String) fileNameObj; } else { String name = uploadFileItem.getName(); int pos = name.lastIndexOf('.'); if (pos != -1) { name = name.substring(0, pos); } imageUploadInfo.targetFileShortName = name; } int rtnStatus = processUploadedFile(uploadFileItem, true, imageUploadInfo); if (rtnStatus == 1) { logger.info(imageUploadInfo.sourceFileName + " has been uploaded successfully!"); //$NON-NLS-1$ return buildUploadResult(true, imageUploadInfo.targetUri); } else if (rtnStatus == -1) { String msg = "Unavailable file type! "; //$NON-NLS-1$ logger.error(msg); return buildUploadResult(false, msg); } else if (rtnStatus == -2) { String msg = "Operation rolled back, since backuping to database failed."; //$NON-NLS-1$ logger.error(msg); return buildUploadResult(false, msg); } } } } } catch (SizeLimitExceededException e) { logger.error("File Size Limit Exceeded Exception!", e); //$NON-NLS-1$ return buildUploadResult(false, "File Size Limit Exceeded Exception!"); //$NON-NLS-1$ } catch (Exception e) { logger.error("Exception occured during uploading!", e); //$NON-NLS-1$ return buildUploadResult(false, "Exception occured during uploading!"); //$NON-NLS-1$ } return buildUploadResult(false, "It seems that Upload Task has not been executed, please check your post enctype and post field name!"); //$NON-NLS-1$ }
From source file:ubic.gemma.web.util.upload.CommonsMultipartMonitoredResolver.java
@Override public MultipartHttpServletRequest resolveMultipart(HttpServletRequest request) throws MultipartException { String enc = determineEncoding(request); ServletFileUpload fileUpload = this.newFileUpload(request); DiskFileItemFactory newFactory = (DiskFileItemFactory) fileUpload.getFileItemFactory(); fileUpload.setSizeMax(sizeMax);//from ww w.j a v a2 s . c om newFactory.setRepository(this.uploadTempDir); fileUpload.setHeaderEncoding(enc); try { MultiValueMap<String, MultipartFile> multipartFiles = new LinkedMultiValueMap<>(); Map<String, String[]> multipartParams = new HashMap<>(); // Extract multipart files and multipart parameters. List<?> fileItems = fileUpload.parseRequest(request); for (Object fileItem1 : fileItems) { FileItem fileItem = (FileItem) fileItem1; if (fileItem.isFormField()) { String value; String fieldName = fileItem.getFieldName(); try { value = fileItem.getString(enc); } catch (UnsupportedEncodingException ex) { logger.warn("Could not decode multipart item '" + fieldName + "' with encoding '" + enc + "': using platform default"); value = fileItem.getString(); } String[] curParam = multipartParams.get(fieldName); if (curParam == null) { // simple form field multipartParams.put(fieldName, new String[] { value }); } else { // array of simple form fields String[] newParam = StringUtils.addStringToArray(curParam, value); multipartParams.put(fieldName, newParam); } } else { // multipart file field MultipartFile file = new CommonsMultipartFile(fileItem); multipartFiles.set(file.getName(), file); if (logger.isDebugEnabled()) { logger.debug("Found multipart file [" + file.getName() + "] of size " + file.getSize() + " bytes with original filename [" + file.getOriginalFilename() + "]"); } } } return new DefaultMultipartHttpServletRequest(request, multipartFiles, multipartParams, null); } catch (FileUploadException ex) { return new FailedMultipartHttpServletRequest(request, ex.getMessage()); } }