List of usage examples for org.apache.commons.fileupload FileItem getContentType
String getContentType();
null
if not defined. From source file:org.jahia.ajax.gwt.content.server.GWTFileManagerUploadServlet.java
private void storeUploadedFile(String sessionID, final FileItem fileItem) { try {//w w w .j av a 2s .c om final InputStream contentStream = new BufferedInputStream(fileItem.getInputStream()); try { getFileStorage().put(sessionID, fileItem.getName(), new UploadedPendingFile() { @Override public String getContentType() { return fileItem.getContentType(); } @Override public InputStream getContentStream() { return contentStream; } @Override public void close() { } }); } finally { contentStream.close(); } } catch (IOException e) { throw new JahiaRuntimeException(e); } }
From source file:org.jahia.ajax.gwt.content.server.GWTFileManagerUploadServlet.java
private int saveToJcr(JahiaUser user, FileItem item, String location, StringBuilder name) throws IOException { String filename = name.toString(); if (logger.isDebugEnabled()) { logger.debug("item : " + item); logger.debug("destination : " + location); logger.debug("filename : " + filename); logger.debug("size : " + item.getSize()); }/* www .ja v a2s . c o m*/ if (item == null || location == null || filename == null) { return UNKNOWN_ERROR; } JCRNodeWrapper locationFolder; try { locationFolder = JCRSessionFactory.getInstance().getCurrentUserSession().getNode(location); } catch (RepositoryException e) { logger.error(e.toString(), e); return BAD_LOCATION; } if (!locationFolder.hasPermission("jcr:addChildNodes") || locationFolder.isLocked()) { logger.debug("destination is not writable for user " + user.getName()); return READONLY; } try { if (locationFolder.hasNode(JCRContentUtils.escapeLocalNodeName(filename))) { return EXISTS; } InputStream is = item.getInputStream(); try { boolean versioningAvailable = false; if (locationFolder.getProvider().isVersioningAvailable()) { versioningAvailable = true; } if (versioningAvailable) { locationFolder.getSession().checkout(locationFolder); } JCRNodeWrapper node = locationFolder.uploadFile(filename, is, JCRContentUtils.getMimeType(filename, item.getContentType())); node.getSession().save(); if (!node.getName().equals(filename)) { name.delete(0, name.length()); name.append(node.getName()); } // Handle potential move of the node after save node = node.getSession().getNodeByIdentifier(node.getIdentifier()); if (node.getProvider().isVersioningAvailable()) { node.checkpoint(); JCRVersionService.getInstance().addVersionLabel(node, VersioningHelper .getVersionLabel(node.getProperty("jcr:created").getDate().getTime().getTime())); } } finally { IOUtils.closeQuietly(is); } locationFolder.saveSession(); } catch (RepositoryException e) { logger.error("exception ", e); return UNKNOWN_ERROR; } return OK; }
From source file:org.jamwiki.servlets.UploadServlet.java
/** * *//*from w ww . j av a 2 s. c o m*/ private void upload(HttpServletRequest request, ModelAndView next, WikiPageInfo pageInfo) throws Exception { String virtualWiki = pageInfo.getVirtualWikiName(); List<FileItem> fileItems = ServletUtil.processMultipartRequest(request); String filename = null; String destinationFilename = null; String contentType = null; long fileSize = 0; String contents = null; boolean isImage = true; File uploadedFile = null; String url = null; byte buff[] = null; for (FileItem fileItem : fileItems) { String fieldName = fileItem.getFieldName(); if (fileItem.isFormField()) { if (fieldName.equals("description")) { // FIXME - these should be parsed contents = fileItem.getString("UTF-8"); } else if (fieldName.equals("destination")) { destinationFilename = fileItem.getString("UTF-8"); } continue; } // file name can have encoding issues, so manually convert filename = fileItem.getName(); if (filename == null) { throw new WikiException(new WikiMessage("upload.error.filename")); } filename = ImageUtil.sanitizeFilename(filename); url = ImageUtil.generateFileUrl(virtualWiki, filename, null); if (!ImageUtil.isFileTypeAllowed(filename)) { String extension = FilenameUtils.getExtension(filename); throw new WikiException(new WikiMessage("upload.error.filetype", extension)); } fileSize = fileItem.getSize(); contentType = fileItem.getContentType(); if (ImageUtil.isImagesOnFS()) { uploadedFile = ImageUtil.buildAbsoluteFile(url); fileItem.write(uploadedFile); isImage = ImageUtil.isImage(uploadedFile); } else { buff = fileItem.get(); } } if (ImageUtil.isImagesOnFS() && uploadedFile == null) { throw new WikiException(new WikiMessage("upload.error.filenotfound")); } destinationFilename = processDestinationFilename(virtualWiki, destinationFilename, filename); String pageName = ImageUtil .generateFilePageName((!StringUtils.isEmpty(destinationFilename) ? destinationFilename : filename)); if (this.handleSpam(request, pageInfo, pageName, contents, null)) { if (ImageUtil.isImagesOnFS()) { // delete the spam file uploadedFile.delete(); } this.view(request, next, pageInfo); next.addObject("contents", contents); return; } if (!StringUtils.isEmpty(destinationFilename)) { // rename the uploaded file if a destination file name was specified filename = ImageUtil.sanitizeFilename(destinationFilename); url = ImageUtil.generateFileUrl(virtualWiki, filename, null); if (ImageUtil.isImagesOnFS()) { File renamedFile = ImageUtil.buildAbsoluteFile(url); if (!uploadedFile.renameTo(renamedFile)) { throw new WikiException(new WikiMessage("upload.error.filerename", destinationFilename)); } } } ImageData imageData = null; if (!ImageUtil.isImagesOnFS()) { imageData = processImageData(contentType, buff); isImage = (imageData.width >= 0); } String ipAddress = ServletUtil.getIpAddress(request); WikiUser user = ServletUtil.currentWikiUser(); Topic topic = ImageUtil.writeImageTopic(virtualWiki, pageName, contents, user, isImage, ipAddress); WikiFileVersion wikiFileVersion = new WikiFileVersion(); wikiFileVersion.setUploadComment(topic.getTopicContent()); ImageUtil.writeWikiFile(topic, wikiFileVersion, user, ipAddress, filename, url, contentType, fileSize, imageData); ServletUtil.redirect(next, virtualWiki, topic.getName()); }
From source file:org.jaxygen.http.HttpRequestParser.java
/** * @param item File item passed in request. * @throws Exception ./* w w w . jav a2 s. com*/ */ private void processUploadedFile(final FileItem item) throws Exception { String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); // boolean isInMemory = item.isInMemory(); long sizeInBytes = item.getSize(); // skipp moving files without name - assume as error if (fileName.length() > 0) { //System.out.println("File upload: " + fieldName + " " + fileName + " " // + contentType + " " + sizeInBytes); UploadedFile upf = new UploadedFile(item); //upf.setFile(uploadedFile); upf.setMimeType(contentType); upf.setOriginalName(fileName); files.put(fieldName, upf); } }
From source file:org.jbpm.bpel.web.DeploymentServlet.java
private FileItem parseProcessArchive(FileItem processItem) throws ServletException { if (!PARAM_PROCESS_ARCHIVE.equals(processItem.getFieldName())) { throw new ServletException( "expected parameter '" + PARAM_PROCESS_ARCHIVE + "', found: " + processItem.getFieldName()); }/* ww w . ja v a 2s .c o m*/ if (processItem.isFormField()) { throw new ServletException("parameter '" + PARAM_PROCESS_ARCHIVE + "' is not an uploaded file"); } String contentType = processItem.getContentType(); if (!contentType.startsWith(WebConstants.CONTENT_TYPE_ZIP) && !contentType.startsWith(WebConstants.CONTENT_TYPE_X_ZIP_COMPRESSED)) { throw new ServletException("parameter '" + PARAM_PROCESS_ARCHIVE + "' is expected to have content type '" + WebConstants.CONTENT_TYPE_ZIP + "' or '" + WebConstants.CONTENT_TYPE_X_ZIP_COMPRESSED + "', found: " + contentType); } return processItem; }
From source file:org.jbpm.bpel.web.RegistrationServlet.java
private InputStream parseDescriptionFile(FileItem descriptionItem) throws ServletException, IOException { if (!PARAM_DESCRIPTION_FILE.equals(descriptionItem.getFieldName())) { throw new ServletException("expected parameter '" + PARAM_DESCRIPTION_FILE + "', found: " + descriptionItem.getFieldName()); }/* w w w. ja v a2 s. co m*/ if (descriptionItem.isFormField()) { throw new ServletException("parameter '" + PARAM_DESCRIPTION_FILE + "' is not an uploaded file"); } if (descriptionItem.getSize() == 0) return null; String contentType = descriptionItem.getContentType(); if (!contentType.startsWith(WebConstants.CONTENT_TYPE_XML)) { throw new ServletException( "parameter '" + PARAM_DESCRIPTION_FILE + "' is expected to have content type '" + WebConstants.CONTENT_TYPE_XML + "', found: " + contentType); } return descriptionItem.getInputStream(); }
From source file:org.jbpm.web.ProcessUploadServlet.java
private String handleRequest(HttpServletRequest request) { //check if request is multipart content log.debug("Handling upload request"); if (!FileUpload.isMultipartContent(request)) { log.debug("Not a multipart request"); return "Not a multipart request"; }/* w w w .j av a2 s . c om*/ try { DiskFileUpload fileUpload = new DiskFileUpload(); List list = fileUpload.parseRequest(request); log.debug("Upload from GPD"); Iterator iterator = list.iterator(); if (!iterator.hasNext()) { log.debug("No process file in the request"); return "No process file in the request"; } FileItem fileItem = (FileItem) iterator.next(); if (fileItem.getContentType().indexOf("application/x-zip-compressed") == -1) { log.debug("Not a process archive"); return "Not a process archive"; } try { log.debug("Deploying process archive " + fileItem.getName()); ZipInputStream zipInputStream = new ZipInputStream(fileItem.getInputStream()); JbpmContext jbpmContext = JbpmContext.getCurrentJbpmContext(); log.debug("Preparing to parse process archive"); ProcessDefinition processDefinition = ProcessDefinition.parseParZipInputStream(zipInputStream); log.debug("Created a processdefinition : " + processDefinition.getName()); jbpmContext.deployProcessDefinition(processDefinition); zipInputStream.close(); return "Deployed archive " + processDefinition.getName() + " successfully"; } catch (IOException e) { log.debug("Failed to read process archive", e); return "IOException"; } } catch (FileUploadException e) { log.debug("Failed to parse HTTP request", e); return "FileUploadException"; } }
From source file:org.jcommon.com.wechat.servlet.MediaServlet.java
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); String errormsg = null;//from ww w . ja va2 s . co m List<FileItem> list = new ArrayList<FileItem>(); List<UrlObject> urls = new ArrayList<UrlObject>(); if (ServletFileUpload.isMultipartContent(request)) { FileItem item = null; try { ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory()); @SuppressWarnings("unchecked") List<FileItem> items = upload.parseRequest(request); Iterator<FileItem> it = items.iterator(); while (it.hasNext()) { item = it.next(); if (!item.isFormField()) { list.add(item); } } } catch (Throwable e) { logger.error("", e); errormsg = "transfer exception"; } } else { errormsg = "not found multipart content"; } if (errormsg != null) { error(response, errormsg); return; } for (FileItem item : list) { try { String file_name = item.getName(); String file_id = org.jcommon.com.util.BufferUtils.generateRandom(20); String content_type = item.getContentType(); Media media = new Media(); media.setContent_type(content_type); media.setMedia_id(file_id); media.setMedia_name(file_name); FileOutputStream out_file = null; java.io.File file = MediaManager.getMedia_factory().createEmptyFile(media); media.setMedia(file); out_file = new FileOutputStream(file); InputStream is = item.getInputStream(); logger.info("uploading..........."); byte[] b = new byte[1024]; int nRead; while ((nRead = is.read(b, 0, 1024)) > 0) { out_file.write(b, 0, nRead); } try { out_file.close(); out_file.flush(); } catch (IOException e1) { // TODO Auto-generated catch block file.delete(); throw e1; } try { is.close(); } catch (IOException e) { // TODO Auto-generated catch block throw e; } String url = MediaManager.getMedia_factory().createUrl(media).getUrl(); logger.info(url); urls.add(new UrlObject(url)); } catch (Throwable e) { logger.error("", e); errormsg = "transfer exception"; } } if (errormsg != null) { error(response, errormsg); return; } else { String msg = ""; if (urls.size() > 0) { if (urls.size() == 1) msg = urls.get(0).toJson(); else msg = org.jcommon.com.util.JsonObject.list2Json(urls); } logger.info(msg); response.getWriter().println(msg); } }
From source file:org.jcrportlet.jcr.JCRBrowser.java
public Node uploadItem(String folderName, FileItem file) { Node folderNode, fileNode;//from w ww. jav a 2 s . c o m folderNode = this.createNode(folderName); try { try { fileNode = folderNode.getNode(file.getName()); if (fileNode != null) return fileNode; } catch (PathNotFoundException e) { // String mimeType = new MimetypesFileTypeMap().getContentType(file); String mimeType = file.getContentType(); fileNode = folderNode.addNode(file.getName(), NT_FILE); Node resNode = fileNode.addNode(JCR_CONTENT, NT_RESOURCE); resNode.setProperty(JCR_MIMETYPE, mimeType); resNode.setProperty(JCR_ENCODING, ""); try { resNode.setProperty(JCR_DATA, file.getInputStream()); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } Calendar lastModified = Calendar.getInstance(); // lastModified.setTimeInMillis(file.lastModified()); resNode.setProperty(JCR_LAST_MODIFIED, lastModified); fileNode.getSession().save(); resNode.getSession().save(); return fileNode; } } catch (RepositoryException e) { e.printStackTrace(); } return null; }
From source file:org.jxstar.control.action.ActionHelper.java
/** * ?//from w ww .j a va2s.c o m * @param request * @return */ private static Map<String, Object> parseMultiRequest(HttpServletRequest request) throws ActionException { //? DefaultFileItemFactory factory = new DefaultFileItemFactory(); //? DiskFileUpload upload = new DiskFileUpload(factory); //???? upload.setHeaderEncoding("utf-8"); //?10M String maxSize = SystemVar.getValue("upload.file.maxsize", "10"); upload.setSizeMax(1000 * 1000 * Integer.parseInt(maxSize)); //? List<FileItem> items = null; try { items = upload.parseRequest(request); } catch (FileUploadException e) { _log.showError(e); throw new ActionException(JsMessage.getValue("fileaction.overmaxsize"), maxSize); } _log.showDebug("request item size=" + items.size()); // Map<String, Object> requestMap = FactoryUtil.newMap(); // ? Iterator<FileItem> iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); if (item.isFormField()) { String key = item.getFieldName(); //????? String value = ""; try { value = item.getString("utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } if (key == null || key.length() == 0) continue; requestMap.put(key, value); } else { String key = item.getFieldName(); requestMap.put(key, item); //?? String fileName = item.getName(); String contentType = item.getContentType(); long fileSize = item.getSize(); _log.showDebug( "request filename=" + fileName + ";fileSize=" + fileSize + ";contentType=" + contentType); } } return requestMap; }