List of usage examples for org.apache.commons.fileupload.disk DiskFileItem isInMemory
public boolean isInMemory()
From source file:com.liferay.portal.editor.fckeditor.receiver.impl.BaseCommandReceiver.java
public void fileUpload(CommandArgument commandArgument, HttpServletRequest request, HttpServletResponse response) {//w w w . j av a 2s. c o m InputStream inputStream = null; String returnValue = null; try { ServletFileUpload servletFileUpload = new LiferayFileUpload( new LiferayFileItemFactory(UploadServletRequestImpl.getTempDir()), request); servletFileUpload .setFileSizeMax(PrefsPropsUtil.getLong(PropsKeys.UPLOAD_SERVLET_REQUEST_IMPL_MAX_SIZE)); LiferayServletRequest liferayServletRequest = new LiferayServletRequest(request); List<FileItem> fileItems = servletFileUpload.parseRequest(liferayServletRequest); Map<String, Object> fields = new HashMap<String, Object>(); for (FileItem fileItem : fileItems) { if (fileItem.isFormField()) { fields.put(fileItem.getFieldName(), fileItem.getString()); } else { fields.put(fileItem.getFieldName(), fileItem); } } DiskFileItem diskFileItem = (DiskFileItem) fields.get("NewFile"); String fileName = StringUtil.replace(diskFileItem.getName(), CharPool.BACK_SLASH, CharPool.SLASH); String[] fileNameArray = StringUtil.split(fileName, '/'); fileName = fileNameArray[fileNameArray.length - 1]; String contentType = diskFileItem.getContentType(); if (Validator.isNull(contentType) || contentType.equals(ContentTypes.APPLICATION_OCTET_STREAM)) { contentType = MimeTypesUtil.getContentType(diskFileItem.getStoreLocation()); } if (diskFileItem.isInMemory()) { inputStream = diskFileItem.getInputStream(); } else { inputStream = new ByteArrayFileInputStream(diskFileItem.getStoreLocation(), LiferayFileItem.THRESHOLD_SIZE); } long size = diskFileItem.getSize(); returnValue = fileUpload(commandArgument, fileName, inputStream, contentType, size); } catch (Exception e) { FCKException fcke = null; if (e instanceof FCKException) { fcke = (FCKException) e; } else { fcke = new FCKException(e); } Throwable cause = fcke.getCause(); returnValue = "203"; if (cause != null) { String causeString = GetterUtil.getString(cause.toString()); if (causeString.contains("NoSuchFolderException") || causeString.contains("NoSuchGroupException")) { returnValue = "204"; } else if (causeString.contains("ImageNameException")) { returnValue = "205"; } else if (causeString.contains("FileExtensionException") || causeString.contains("FileNameException")) { returnValue = "206"; } else if (causeString.contains("PrincipalException")) { returnValue = "207"; } else if (causeString.contains("ImageSizeException") || causeString.contains("FileSizeException")) { returnValue = "208"; } else if (causeString.contains("SystemException")) { returnValue = "209"; } else { throw fcke; } } _writeUploadResponse(returnValue, response); } finally { StreamUtil.cleanUp(inputStream); } _writeUploadResponse(returnValue, response); }
From source file:org.infoglue.calendar.actions.CalendarUploadAbstractAction.java
public File getFile() { try {// ww w. j av a 2 s .com DiskFileItemFactory factory = new DiskFileItemFactory(); // Configure the factory here, if desired. PortletFileUpload upload = new PortletFileUpload(factory); // Configure the uploader here, if desired. List fileItems = upload.parseRequest(ServletActionContext.getRequest()); log.debug("fileItems:" + fileItems.size()); Iterator i = fileItems.iterator(); while (i.hasNext()) { Object o = i.next(); DiskFileItem dfi = (DiskFileItem) o; log.debug("dfi:" + dfi.getFieldName()); log.debug("dfi:" + dfi); if (!dfi.isFormField()) { String fieldName = dfi.getFieldName(); String fileName = dfi.getName(); String contentType = dfi.getContentType(); boolean isInMemory = dfi.isInMemory(); long sizeInBytes = dfi.getSize(); log.debug("fieldName:" + fieldName); log.debug("fileName:" + fileName); log.debug("contentType:" + contentType); log.debug("isInMemory:" + isInMemory); log.debug("sizeInBytes:" + sizeInBytes); File uploadedFile = new File(getTempFilePath() + File.separator + fileName); dfi.write(uploadedFile); return uploadedFile; } } } catch (Exception e) { e.printStackTrace(); } return file; }
From source file:org.infoglue.calendar.actions.UpdateEventAction.java
/** * This is the entry point for the main listing. *///w ww . jav a 2 s . c om public String upload() throws Exception { try { DiskFileItemFactory factory = new DiskFileItemFactory(); // Configure the factory here, if desired. PortletFileUpload upload = new PortletFileUpload(factory); // Configure the uploader here, if desired. List fileItems = upload.parseRequest(ServletActionContext.getRequest()); log.debug("fileItems:" + fileItems.size()); Iterator i = fileItems.iterator(); while (i.hasNext()) { Object o = i.next(); DiskFileItem dfi = (DiskFileItem) o; log.debug("dfi:" + dfi.getFieldName()); log.debug("dfi:" + dfi); if (!dfi.isFormField()) { String fieldName = dfi.getFieldName(); String fileName = dfi.getName(); String contentType = dfi.getContentType(); boolean isInMemory = dfi.isInMemory(); long sizeInBytes = dfi.getSize(); log.debug("fieldName:" + fieldName); log.debug("fileName:" + fileName); log.debug("contentType:" + contentType); log.debug("isInMemory:" + isInMemory); log.debug("sizeInBytes:" + sizeInBytes); File uploadedFile = new File(getTempFilePath() + File.separator + fileName); dfi.write(uploadedFile); } } } catch (Exception e) { e.printStackTrace(); } log.debug(""); ResourceController.getController().createResource(this.eventId, this.getAssetKey(), this.getFileContentType(), this.getFileFileName(), this.getFile(), getSession()); return "successUpload"; }
From source file:org.infoglue.cms.util.FileUploadHelper.java
/** * Lists the files/* www .j av a 2s . c o m*/ */ public static void listMultiPartFiles(HttpServletRequest req) { try { File tempDir = new File("c:/temp/uploads"); logger.info("tempDir:" + tempDir.exists()); DiskFileItemFactory factory = new DiskFileItemFactory(1000, tempDir); ServletFileUpload upload = new ServletFileUpload(factory); if (ServletFileUpload.isMultipartContent((HttpServletRequest) req)) { List fileItems = upload.parseRequest((HttpServletRequest) req); logger.info("******************************"); logger.info("fileItems:" + fileItems.size()); logger.info("******************************"); req.setAttribute("Test", "Mattias Testar"); Iterator i = fileItems.iterator(); while (i.hasNext()) { Object o = i.next(); DiskFileItem dfi = (DiskFileItem) o; logger.info("dfi:" + dfi.getFieldName()); logger.info("dfi:" + dfi); if (!dfi.isFormField()) { String fieldName = dfi.getFieldName(); String fileName = dfi.getName(); String contentType = dfi.getContentType(); boolean isInMemory = dfi.isInMemory(); long sizeInBytes = dfi.getSize(); logger.info("fieldName:" + fieldName); logger.info("fileName:" + fileName); logger.info("contentType:" + contentType); logger.info("isInMemory:" + isInMemory); logger.info("sizeInBytes:" + sizeInBytes); File uploadedFile = new File("c:/temp/uploads/" + fileName); dfi.write(uploadedFile); req.setAttribute(dfi.getFieldName(), uploadedFile.getAbsolutePath()); } } } } catch (Exception e) { e.printStackTrace(); } }
From source file:podd.resources.services.TabImportService.java
/** * Creates a Tab transfer object from the Restlet Representation * @param entity/* w w w.j a v a 2s. c om*/ * @return */ private Tab createTab(Representation entity) { Tab tab = new Tab(); DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(0); // always write to disk RestletFileUpload upload = new RestletFileUpload(factory); try { List<FileItem> list = upload.parseRepresentation(entity); for (FileItem item : list) { if (item.getFieldName().equals(PARAM_TAB) && !item.isFormField()) { tab.setTabStream(item.getInputStream()); } if (item.getFieldName().equals(PARAM_ATTACHMENT) && !item.isFormField()) { DiskFileItem diskFileItem = (DiskFileItem) item; if (_DEBUG) { LOGGER.debug("isInMemory = " + diskFileItem.isInMemory() + " diskFileItem exists = " + diskFileItem.getStoreLocation().exists()); } // If the file is not on disk, force to disk File copiedFile = FileUploadHelper.writeToDisk(diskFileItem, authenticatedUser); if (_DEBUG) { LOGGER.debug("copiedFile = " + copiedFile); } if (copiedFile != null) tab.addAttachment(copiedFile.getName(), copiedFile); } } } catch (FileUploadException e) { getResponse().setStatus(SERVER_ERROR_INTERNAL); final String msg = "Error reading form data. "; errorHandler.handleException(GENERAL_MESSAGE_ID, "File Initialisation Error", msg, e); auditLogHelper.auditAction(ERROR, authenticatedUser, "Tab import Service: " + msg, e.toString()); } catch (IOException e) { getResponse().setStatus(SERVER_ERROR_INTERNAL); final String msg = "Error reading file. "; errorHandler.handleException(GENERAL_MESSAGE_ID, "File Initalisation Error", msg, e); auditLogHelper.auditAction(ERROR, authenticatedUser, "Tab import Service: " + msg, e.toString()); } return tab; }
From source file:v7db.files.buckets.BucketsServlet.java
private void doFormPost(HttpServletRequest request, HttpServletResponse response, BSONObject bucket) throws IOException { ObjectId uploadId = new ObjectId(); BSONObject parameters = new BasicBSONObject(); List<FileItem> files = new ArrayList<FileItem>(); if (ServletFileUpload.isMultipartContent(request)) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try {// w w w . j a va2 s. c o m for (Object _file : upload.parseRequest(request)) { FileItem file = (FileItem) _file; if (file.isFormField()) { String v = file.getString(); parameters.put(file.getFieldName(), v); } else { files.add(file); } } } catch (FileUploadException e) { throw new IOException(e); } } else { for (Entry<String, String[]> param : request.getParameterMap().entrySet()) { String[] v = param.getValue(); if (v.length == 1) parameters.put(param.getKey(), v[0]); else parameters.put(param.getKey(), v); } } BSONObject result = new BasicBSONObject("_id", uploadId); BSONObject uploads = new BasicBSONObject(); for (FileItem file : files) { DiskFileItem f = (DiskFileItem) file; // inline until 10KB if (f.isInMemory()) { uploads.put(f.getFieldName(), storage.inlineOrInsertContentsAndBackRefs(10240, f.get(), uploadId, f.getName(), f.getContentType())); } else { uploads.put(f.getFieldName(), storage.inlineOrInsertContentsAndBackRefs(10240, f.getStoreLocation(), uploadId, f.getName(), f.getContentType())); } file.delete(); } result.put("files", uploads); result.put("parameters", parameters); bucketCollection.update(new BasicDBObject("_id", bucket.get("_id")), new BasicDBObject("$push", new BasicDBObject("FormPost.data", result))); String redirect = BSONUtils.getString(bucket, "FormPost.redirect"); // redirect mode if (StringUtils.isNotBlank(redirect)) { response.sendRedirect(redirect + "?v7_formpost_id=" + uploadId); return; } // echo mode // JSON does not work, see https://jira.mongodb.org/browse/JAVA-332 // response.setContentType("application/json"); // response.getWriter().write(JSON.serialize(result)); byte[] bson = BSON.encode(result); response.getOutputStream().write(bson); }