List of usage examples for org.apache.commons.fileupload FileItem write
void write(File file) throws Exception;
From source file:com.corejsf.UploadRenderer.java
public void decode(FacesContext context, UIComponent component) { log.debug("**** decode ="); ExternalContext external = context.getExternalContext(); HttpServletRequest request = (HttpServletRequest) external.getRequest(); String clientId = component.getClientId(context); FileItem item = (FileItem) request.getAttribute(clientId + UPLOAD); // check if file > maxSize allowed log.debug("clientId =" + clientId); log.debug("fileItem =" + item); // if (item!=null) log.debug("***UploadRender: fileItem size ="+ item.getSize()); Long maxSize = (Long) ((ServletContext) external.getContext()).getAttribute("FILEUPLOAD_SIZE_MAX"); // RU - typo. Stanford agrees, so this should be FINR if (item != null && item.getSize() / 1000 > maxSize.intValue()) { ((ServletContext) external.getContext()).setAttribute("TEMP_FILEUPLOAD_SIZE", Long.valueOf(item.getSize() / 1000)); ((EditableValueHolder) component).setSubmittedValue("SizeTooBig:" + item.getName()); return;//from w ww .j a v a 2 s .co m } Object target; ValueBinding binding = component.getValueBinding("target"); if (binding != null) target = binding.getValue(context); else target = component.getAttributes().get("target"); String repositoryPath = (String) ((ServletContext) external.getContext()) .getAttribute("FILEUPLOAD_REPOSITORY_PATH"); log.debug("****" + repositoryPath); if (target != null) { File dir = new File(repositoryPath + target.toString()); //directory where file would be saved if (!dir.exists()) dir.mkdirs(); if (item != null && !("").equals(item.getName())) { String fullname = item.getName(); fullname = fullname.replace('\\', '/'); // replace c:\fullname to c:/fullname fullname = fullname.substring(fullname.lastIndexOf("/") + 1); int dot_index = fullname.lastIndexOf("."); String filename = ""; if (dot_index < 0) { filename = fullname + "_" + (new Date()).getTime(); } else { filename = fullname.substring(0, dot_index) + "_" + (new Date()).getTime() + fullname.substring(dot_index); } File file = new File(dir.getPath() + "/" + filename); log.debug("**1. filename=" + file.getPath()); try { //if (mediaIsValid) item.write(file); item.write(file); // change value so we can evoke the listener ((EditableValueHolder) component).setSubmittedValue(file.getPath()); } catch (Exception ex) { throw new FacesException(ex); } } } }
From source file:com.silverpeas.jobStartPagePeas.control.JobStartPagePeasSessionController.java
private void processSpaceWallpaper(List<FileItem> items, String path) throws Exception { FileItem file = FileUploadUtil.getFile(items, "wallPaper"); if (file != null && StringUtil.isDefined(file.getName())) { String extension = FileRepositoryManager.getFileExtension(file.getName()); if (extension != null && extension.equalsIgnoreCase("jpeg")) { extension = "jpg"; }/* ww w . j a v a 2 s .co m*/ // Remove all wallpapers to ensure it is unique File dir = new File(path); Collection<File> wallpapers = FileUtils.listFiles(dir, FileFilterUtils.prefixFileFilter(SilverpeasLook.DEFAULT_WALLPAPER_PROPERTY, IOCase.INSENSITIVE), null); for (File wallpaper : wallpapers) { FileUtils.deleteQuietly(wallpaper); } file.write(new File(path + File.separator + "wallPaper." + extension.toLowerCase())); } }
From source file:com.stratelia.silverpeas.versioningPeas.servlets.VersioningRequestRouter.java
@Override public String getDestination(String function, VersioningSessionController versioningSC, HttpServletRequest request) {/* w w w. j a v a2 s .c o m*/ String destination = ""; SilverTrace.info("versioningPeas", "VersioningRequestRouter.getDestination()", "root.MSG_GEN_PARAM_VALUE", "User=" + versioningSC.getUserId() + " Function=" + function); String rootDestination = "/versioningPeas/jsp/"; ResourceLocator messages = new ResourceLocator( "com.stratelia.silverpeas.versioningPeas.multilang.versioning", versioningSC.getLanguage()); try { String flag = versioningSC.getProfile(); request.setAttribute("Profile", flag); if (function.startsWith("ViewReadersList")) { List<Group> groups = new ArrayList<Group>(); List<String> users = new ArrayList<String>(); ProfileInst profile = versioningSC.getCurrentProfile(VersioningSessionController.READER); if (profile != null) { groups = versioningSC.groupIds2Groups(profile.getAllGroups()); users = versioningSC.userIds2Users(profile.getAllUsers()); } request.setAttribute("Groups", groups); request.setAttribute("Users", users); destination = rootDestination + "ReadList.jsp"; } else if (function.startsWith("ViewWritersList")) { Document document = versioningSC.getEditingDocument(); ProfileInst profile = versioningSC.getCurrentProfile(VersioningSessionController.WRITER); ArrayList<Worker> workers = new ArrayList<Worker>(); if (profile != null) { workers = document.getWorkList(); if (document.getCurrentWorkListOrder() == Integer .parseInt(VersioningSessionController.WRITERS_LIST_ORDERED) && !versioningSC.isAlreadyMerged() && !profile.getAllGroups().isEmpty()) { // Need to merge users from groups with other users workers = versioningSC.mergeUsersFromGroupsWithWorkers(profile.getAllGroups(), workers); } } request.setAttribute("Workers", workers); destination = rootDestination + "WorkList.jsp"; } else if (function.startsWith("ChangeOrder")) { String lines = request.getParameter("lines"); Document document = versioningSC.getEditingDocument(); ArrayList<Worker> users = document.getWorkList(); if (lines != null) { int users_count = Integer.parseInt(lines); if (users_count == users.size()) { ArrayList<Worker> new_users = new ArrayList<Worker>(users_count); for (int i = 0; i < users_count; i++) { Worker user = users.get(i); boolean v_value = false; // Validator String chvi = request.getParameter("chv" + i); if (chvi != null) { v_value = true; } user.setApproval(v_value); new_users.add(user); } // Sorting begin int upIndex = Integer.parseInt(request.getParameter("up")); int downIndex = Integer.parseInt(request.getParameter("down")); int addIndex = Integer.parseInt(request.getParameter("add")); // Remove user to change order if (upIndex > 0 && upIndex < users_count) { Worker user = new_users.remove(upIndex); new_users.add(upIndex - 1, user); } if (downIndex >= 0 && downIndex < users_count - 1) { Worker user = new_users.remove(downIndex); new_users.add(downIndex + 1, user); } if (addIndex >= 0 && addIndex < users_count) { Worker user = new_users.get(addIndex); Worker new_user = new Worker(user.getUserId(), Integer.parseInt(versioningSC.getEditingDocument().getPk().getId()), 0, user.isApproval(), true, versioningSC.getComponentId(), user.getType(), user.isSaved(), user.isUsed(), user.getListType()); new_users.add(addIndex + 1, new_user); users_count++; } for (int i = 0; i < users_count; i++) { new_users.get(i).setOrder(i); } document.setWorkList(new_users); } } destination = getDestination("ViewWritersList", versioningSC, request); } else if (function.startsWith("ChangeListType")) { Document document = versioningSC.getEditingDocument(); String listType = request.getParameter("ListType"); if (!StringUtil.isDefined(listType)) { listType = VersioningSessionController.WRITERS_LIST_SIMPLE; } document.setCurrentWorkListOrder(Integer.parseInt(listType)); ProfileInst profile = versioningSC.getProfile(VersioningSessionController.WRITER); ArrayList<Worker> workers = new ArrayList<Worker>(); if (profile != null) { if (listType.equals(VersioningSessionController.WRITERS_LIST_ORDERED)) { // Need to merge users from groups with other users workers = document.getWorkList(); workers = versioningSC.mergeUsersFromGroupsWithWorkers(profile.getAllGroups(), workers); versioningSC.setAlreadyMerged(true); } else { ArrayList<Worker> workersUsers = new ArrayList<Worker>(); ArrayList<Worker> workersGroups = new ArrayList<Worker>(); workersGroups = versioningSC.convertGroupsToWorkers(workers, profile.getAllGroups()); workers.addAll(workersGroups); workersUsers = versioningSC.convertUsersToWorkers(workers, profile.getAllUsers()); workers.addAll(workersUsers); } } document.setWorkList(workers); versioningSC.updateWorkList(document); versioningSC.updateDocument(document); destination = getDestination("ViewWritersList", versioningSC, request); } else if (function.startsWith("SaveListType")) { Document document = versioningSC.getEditingDocument(); ArrayList<Worker> users = document.getWorkList(); ArrayList<Worker> updateUsers = new ArrayList<Worker>(); for (int i = 0; i < users.size(); i++) { Worker user = users.get(i); // Set approval rights to users String chvi = request.getParameter("chv" + i); boolean v_value = false; if (chvi != null) { v_value = true; } user.setApproval(v_value); updateUsers.add(user); } versioningSC.updateWorkList(document); versioningSC.updateDocument(document); destination = getDestination("ViewWritersList", versioningSC, request); } else if (function.startsWith("ViewVersions")) { request.setAttribute("Document", versioningSC.getEditingDocument()); destination = rootDestination + "versions.jsp"; } else if (function.equals("SelectUsersGroupsProfileInstance")) { String role = request.getParameter("Role"); String listType = request.getParameter("ListType"); if (StringUtil.isDefined(listType)) { versioningSC.getEditingDocument().setCurrentWorkListOrder(Integer.parseInt(listType)); } versioningSC.initUserPanelInstanceForGroupsUsers(role); destination = Selection.getSelectionURL(Selection.TYPE_USERS_GROUPS); } else if (function.startsWith("DocumentProfileSetUsersAndGroups")) { String role = request.getParameter("Role"); ProfileInst profile = versioningSC.getProfile(role); versioningSC.updateDocumentProfile(profile); if (role.equals(VersioningSessionController.WRITER)) { ArrayList<Worker> oldWorkers = versioningSC.getEditingDocument().getWorkList(); ArrayList<Worker> workers = new ArrayList<Worker>(); ArrayList<Worker> workersUsers = new ArrayList<Worker>(); ArrayList<Worker> workersGroups = new ArrayList<Worker>(); workersGroups = versioningSC.convertGroupsToWorkers(oldWorkers, profile.getAllGroups()); workers.addAll(workersGroups); workersUsers = versioningSC.convertUsersToWorkers(oldWorkers, profile.getAllUsers()); workers.addAll(workersUsers); ArrayList<Worker> sortedWorkers = new ArrayList<Worker>(); if (workers != null) { for (int i = 0; i < workers.size(); i++) { Worker sortedWorker = workers.get(i); sortedWorker.setOrder(i); sortedWorkers.add(sortedWorker); } workers = sortedWorkers; } versioningSC.getEditingDocument().setWorkList(workers); versioningSC.updateWorkList(versioningSC.getEditingDocument()); request.setAttribute("urlToReload", "ViewWritersList"); } else { request.setAttribute("urlToReload", "ViewReadersList"); } destination = rootDestination + "closeWindow.jsp"; } else if (function.startsWith("SaveList")) { String role = request.getParameter("Role"); String fromFunction = request.getParameter("From"); if (versioningSC.isAccessListExist(role)) { versioningSC.removeAccessList(role); } versioningSC.saveAccessList(role); request.setAttribute("Message", messages.getString("versioning.ListSaved", "")); destination = getDestination(fromFunction, versioningSC, request); } else if (function.startsWith("DeleteReaderProfile")) { ProfileInst profile = versioningSC.getDocumentProfile(VersioningSessionController.READER); if (profile != null) { profile.removeAllGroups(); profile.removeAllUsers(); versioningSC.updateProfileInst(profile); } destination = getDestination("ViewReadersList", versioningSC, request); } else if (function.startsWith("DeleteWriterProfile")) { ProfileInst profile = versioningSC.getDocumentProfile(VersioningSessionController.WRITER); if (profile != null) { profile.removeAllGroups(); profile.removeAllUsers(); versioningSC.updateProfileInst(profile); } versioningSC.deleteWorkers(true); versioningSC.setAlreadyMerged(false); destination = getDestination("ViewWritersList", versioningSC, request); } else if (function.startsWith("Update")) { String docId = request.getParameter("DocId"); String name = request.getParameter("name"); String description = request.getParameter("description"); String comments = request.getParameter("comments"); Document document = versioningSC .getDocument(new DocumentPK(Integer.parseInt(docId), versioningSC.getComponentId())); document.setDescription(description); document.setName(name); document.setAdditionalInfo(comments); versioningSC.updateDocument(document); versioningSC.setEditingDocument(document); destination = getDestination("ViewVersions", versioningSC, request); } else if (function.equals("CloseWindow")) { destination = rootDestination + "closeWindow.jsp"; } else if (function.equals("AddNewVersion")) { // Display xmlForm if used if (StringUtil.isDefined(versioningSC.getXmlForm())) { setXMLFormIntoRequest(request.getParameter("documentId"), versioningSC, request); } destination = rootDestination + "newVersion.jsp"; } else if (function.equals("AddNewOnlineVersion")) { String documentId = request.getParameter("documentId"); request.setAttribute("DocumentId", documentId); // Display xmlForm if used if (StringUtil.isDefined(versioningSC.getXmlForm())) { setXMLFormIntoRequest(documentId, versioningSC, request); } destination = rootDestination + "newOnlineVersion.jsp"; } else if (function.equals("ChangeValidator")) { String setTypeId = request.getParameter("VV"); String setType = request.getParameter("SetType"); // 'U'for users or 'G' // for groups versioningSC.setWorkerValidator(versioningSC.getEditingDocument().getWorkList(), Integer.parseInt(setTypeId), setType); destination = getDestination("ViewWritersList", versioningSC, request); } else if (function.equals("ListPublicVersionsOfDocument")) { String documentId = request.getParameter("DocId"); String isAlias = request.getParameter("Alias"); DocumentPK documentPK = new DocumentPK(Integer.parseInt(documentId), versioningSC.getSpaceId(), versioningSC.getComponentId()); Document document = versioningSC.getDocument(documentPK); List<DocumentVersion> publicVersions = versioningSC.getPublicDocumentVersions(documentPK); request.setAttribute("Document", document); request.setAttribute("PublicVersions", publicVersions); request.setAttribute("Alias", isAlias); destination = "/versioningPeas/jsp/publicVersions.jsp"; } else if ("ViewAllVersions".equals(function)) { return viewVersions(request, versioningSC); } else if ("saveOnline".equals(function)) { if (!StringUtil.isDefined(request.getCharacterEncoding())) { request.setCharacterEncoding("UTF-8"); } String encoding = request.getCharacterEncoding(); List<FileItem> items = FileUploadUtil.parseRequest(request); String documentId = FileUploadUtil.getParameter(items, "documentId", "-1", encoding); DocumentPK documentPK = new DocumentPK(Integer.parseInt(documentId), versioningSC.getSpaceId(), versioningSC.getComponentId()); Document document = versioningSC.getDocument(documentPK); String userId = versioningSC.getUserId(); String radio = FileUploadUtil.getParameter(items, "radio", "", encoding); String comments = FileUploadUtil.getParameter(items, "comments", "", encoding); boolean force = "true".equalsIgnoreCase(request.getParameter("force_release")); String callback = FileUploadUtil.getParameter(items, "Callback"); request.setAttribute("Callback", callback); destination = "/versioningPeas/jsp/documentSaved.jsp"; boolean addXmlForm = !isXMLFormEmpty(versioningSC, items); DocumentVersionPK newVersionPK = versioningSC.saveOnline(document, comments, radio, Integer.parseInt(userId), force, addXmlForm); if (newVersionPK != null) { request.setAttribute("DocumentId", documentId); DocumentVersion version = versioningSC.getLastVersion(documentPK); request.setAttribute("Version", version); if (addXmlForm) { saveXMLData(versioningSC, newVersionPK, items); } } else { if ("admin".equals(versioningSC.getUserRoleLevel())) { // TODO MANU ecrire la page pour ressoumettre en forcant destination = "/versioningPeas/jsp/forceDocumentLocked.jsp"; } else { destination = "/versioningPeas/jsp/documentLocked.jsp"; } } } else if ("Checkout".equals(function)) { String documentId = request.getParameter("DocId"); DocumentPK documentPK = new DocumentPK(Integer.parseInt(documentId), versioningSC.getSpaceId(), versioningSC.getComponentId()); Document document = versioningSC.getDocument(documentPK); document.setStatus(1); document.setLastCheckOutDate(new Date()); versioningSC.checkDocumentOut(documentPK, Integer.parseInt(versioningSC.getUserId()), new Date()); document = versioningSC.getDocument(documentPK); versioningSC.setEditingDocument(document); request.setAttribute("Document", document); destination = rootDestination + "versions.jsp"; } else if ("DeleteDocumentRequest".equals(function)) { String documentId = request.getParameter("DocId"); String url = request.getParameter("Url"); request.setAttribute("DocId", documentId); request.setAttribute("Url", url); destination = rootDestination + "deleteDocument.jsp"; } else if (function.equals("DeleteDocument")) { String documentId = request.getParameter("DocId"); String url = request.getParameter("Url"); DocumentPK documentPK = new DocumentPK(Integer.parseInt(documentId), versioningSC.getSpaceId(), versioningSC.getComponentId()); versioningSC.deleteDocument(documentPK); SilverTrace.info("versioningPeas", "VersioningRequestRouter.getDestination()", "root.MSG_GEN_PARAM_VALUE", "url=" + url); request.setAttribute("urlToReload", url); destination = rootDestination + "closeWindow.jsp"; } else if (function.equals("AddNewDocument")) { String pubId = request.getParameter("PubId"); request.setAttribute("PubId", pubId); if (StringUtil.isDefined(versioningSC.getXmlForm())) { setXMLFormIntoRequest(null, versioningSC, request); } destination = rootDestination + "newDocument.jsp"; } else if (function.equals("SaveNewDocument")) { saveNewDocument(request, versioningSC); destination = getDestination("ViewVersions", versioningSC, request); } else if (function.equals("SaveNewVersion")) { if (!StringUtil.isDefined(request.getCharacterEncoding())) { request.setCharacterEncoding("UTF-8"); } String encoding = request.getCharacterEncoding(); List<FileItem> items = FileUploadUtil.parseRequest(request); String type = FileUploadUtil.getParameter(items, "type", "", encoding); String comments = FileUploadUtil.getParameter(items, "comments", "", encoding); String radio = FileUploadUtil.getParameter(items, "radio", "", encoding); String documentId = FileUploadUtil.getParameter(items, "documentId", "-1", encoding); // Save file on disk FileItem fileItem = FileUploadUtil.getFile(items, "file_upload"); boolean runOnUnix = !FileUtil.isWindows(); String logicalName = fileItem.getName(); String physicalName = "dummy"; String mimeType = "dummy"; File dir = null; int size = 0; if (logicalName != null) { if (runOnUnix) { logicalName = logicalName.replace('\\', File.separatorChar); } logicalName = logicalName.substring(logicalName.lastIndexOf(File.separator) + 1, logicalName.length()); type = logicalName.substring(logicalName.lastIndexOf(".") + 1, logicalName.length()); physicalName = new Long(new Date().getTime()).toString() + "." + type; mimeType = FileUtil.getMimeType(logicalName); if (!StringUtil.isDefined(mimeType)) { mimeType = "unknown"; } dir = new File(versioningSC.createPath(versioningSC.getComponentId(), null) + physicalName); size = new Long(fileItem.getSize()).intValue(); fileItem.write(dir); } // create DocumentVersion String componentId = versioningSC.getComponentId(); DocumentPK docPK = new DocumentPK(Integer.parseInt(documentId), "useless", componentId); int userId = Integer.parseInt(versioningSC.getUserId()); DocumentVersion documentVersion = null; DocumentVersion lastVersion = versioningSC.getLastVersion(docPK); if (com.stratelia.silverpeas.versioning.ejb.RepositoryHelper.getJcrDocumentService() .isNodeLocked(lastVersion)) { destination = rootDestination + "documentLocked.jsp"; } else { List<DocumentVersion> versions = versioningSC.getDocumentVersions(docPK); int majorNumber = 0; int minorNumber = 1; if (versions != null && versions.size() > 0) { documentVersion = versions.get(0); majorNumber = documentVersion.getMajorNumber(); minorNumber = documentVersion.getMinorNumber(); DocumentVersion newVersion = new DocumentVersion(null, docPK, majorNumber, minorNumber, userId, new Date(), comments, Integer.parseInt(radio), documentVersion.getStatus(), physicalName, logicalName, mimeType, size, componentId); boolean addXmlForm = !isXMLFormEmpty(versioningSC, items); if (addXmlForm) { newVersion.setXmlForm(versioningSC.getXmlForm()); } newVersion = versioningSC.addNewDocumentVersion(newVersion); ResourceLocator settings = new ResourceLocator( "com.stratelia.webactiv.util.attachment.Attachment", ""); boolean actifyPublisherEnable = settings.getBoolean("ActifyPublisherEnable", false); // Specific case: 3d file to convert by Actify Publisher if (actifyPublisherEnable) { String extensions = settings.getString("Actify3dFiles"); StringTokenizer tokenizer = new StringTokenizer(extensions, ","); // 3d native file ? boolean fileForActify = false; SilverTrace.info("versioningPeas", "saveFile.jsp", "root.MSG_GEN_PARAM_VALUE", "nb tokenizer =" + tokenizer.countTokens()); while (tokenizer.hasMoreTokens() && !fileForActify) { String extension = tokenizer.nextToken(); if (type.equalsIgnoreCase(extension)) { fileForActify = true; } } if (fileForActify) { String dirDestName = "v_" + componentId + "_" + documentId; String actifyWorkingPath = settings.getString("ActifyPathSource") + File.separator + dirDestName; String destPath = FileRepositoryManager.getTemporaryPath() + actifyWorkingPath; if (!new File(destPath).exists()) { FileRepositoryManager.createGlobalTempPath(actifyWorkingPath); } String destFile = FileRepositoryManager.getTemporaryPath() + actifyWorkingPath + File.separator + logicalName; FileRepositoryManager.copyFile( versioningSC.createPath(componentId, null) + File.separator + physicalName, destFile); } } if (addXmlForm) { saveXMLData(versioningSC, newVersion.getPk(), items); } } String returnURL = FileUploadUtil.getParameter(items, "ReturnURL"); if (!StringUtil.isDefined(returnURL)) { destination = getDestination("ViewVersions", versioningSC, request); } else { request.setAttribute("urlToReload", returnURL); destination = rootDestination + "closeWindow.jsp"; } } } else { destination = rootDestination + function; } } catch (Exception e) { SilverTrace.error("versioning", "VersioningRequestRouter.getDestination", "root.EX_CANT_GET_REQUEST_DESTINATION", e); request.setAttribute("javax.servlet.jsp.jspException", e); destination = "/admin/jsp/errorpageMain.jsp"; } SilverTrace.info("versioningPeas", "VersioningRequestRouter.getDestination()", "root.MSG_GEN_PARAM_VALUE", "Destination=" + destination); return destination; }
From source file:admin.controller.ServletChangeLooks.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods.// ww w. j ava2s. c om * * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ public void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.processRequest(request, response); response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); String filePath = ""; String fileName, fieldName, uploadPath, deletePath, file_name_to_delete = "", uploadPath1; Looks look; RequestDispatcher request_dispatcher; String lookname = "", lookid = ""; Integer organization = 0; look = new Looks(); boolean check = false; File file; int maxFileSize = 5000 * 1024; int maxMemSize = 5000 * 1024; try { // Verify the content type String contentType = request.getContentType(); if ((contentType.indexOf("multipart/form-data") >= 0)) { DiskFileItemFactory factory = new DiskFileItemFactory(); // maximum size that will be stored in memory factory.setSizeThreshold(maxMemSize); // Location to save data that is larger than maxMemSize. factory.setRepository(new File(AppConstants.TMP_FOLDER)); // Create a new file upload handler ServletFileUpload upload = new ServletFileUpload(factory); // maximum file size to be uploaded. upload.setSizeMax(maxFileSize); // Parse the request to get file items. List fileItems = upload.parseRequest(request); // Process the uploaded file items Iterator i = fileItems.iterator(); out.println("<html>"); out.println("<head>"); out.println("<title>JSP File upload</title>"); out.println("</head>"); out.println("<body>"); while (i.hasNext()) { FileItem fi = (FileItem) i.next(); if (fi.isFormField()) { // Get the uploaded file parameters fieldName = fi.getFieldName(); if (fieldName.equals("lookname")) { lookname = fi.getString(); } if (fieldName.equals("lookid")) { lookid = fi.getString(); } if (fieldName.equals("organization")) { organization = Integer.parseInt(fi.getString()); } file_name_to_delete = look.getFileName(Integer.parseInt(lookid)); } else { check = look.checkAvailabilities(Integer.parseInt(lookid), lookname, organization); if (check == false) { fieldName = fi.getFieldName(); fileName = fi.getName(); File uploadDir = new File(AppConstants.LOOK_IMAGES_HOME); if (!uploadDir.exists()) { uploadDir.mkdirs(); } // int inStr = fileName.indexOf("."); // String Str = fileName.substring(0, inStr); // // fileName = lookname + "_" + Str + ".png"; fileName = lookname + "_" + fileName; boolean isInMemory = fi.isInMemory(); long sizeInBytes = fi.getSize(); String file_path = AppConstants.LOOK_IMAGES_HOME + File.separator + fileName; String delete_path = AppConstants.LOOK_IMAGES_HOME + File.separator + file_name_to_delete; File deleteFile = new File(delete_path); deleteFile.delete(); File storeFile = new File(file_path); fi.write(storeFile); out.println("Uploaded Filename: " + filePath + "<br>"); look.changeLooks(Integer.parseInt(lookid), lookname, fileName, organization); response.sendRedirect(request.getContextPath() + "/admin/looks.jsp"); } else { response.sendRedirect( request.getContextPath() + "/admin/editlook.jsp?exist=exist&look_id=" + lookid + "&look_name=" + lookname + "&organization_id=" + organization + "&image_file_name=" + file_name_to_delete); } } } out.println("</body>"); out.println("</html>"); } else { out.println("<html>"); out.println("<head>"); out.println("<title>Servlet upload</title>"); out.println("</head>"); out.println("<body>"); out.println("<p>No file uploaded</p>"); out.println("</body>"); out.println("</html>"); } } catch (Exception ex) { logger.log(Level.SEVERE, "Exception while editing the looks", ex); } finally { out.close(); } }
From source file:com.recipes.controller.Recipes.java
/** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> * methods./*w w w .java 2s . c o m*/ * * @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"); DAO dao = new DAO(); HttpSession session = request.getSession(true); if (request.getParameter("add") != null) { response.sendRedirect("addRecipe.jsp"); } else if (request.getParameter("insert") != null) { FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); try { List<FileItem> fields = upload.parseRequest(request); Iterator<FileItem> it = fields.iterator(); if (!it.hasNext()) { // fayl yoxdur mesaj return; } String title = "";//String deyiwenleri gotururuy String article = ""; String category = ""; String prepareRules = ""; String image = ""; List<String> composition = new ArrayList<>(); String cook_time = ""; String total_time = ""; String prep_time = ""; while (it.hasNext()) { // eger file varsa FileItem fileItem = it.next(); // iteratorun next metodu cagrilir boolean isFormField = fileItem.isFormField(); // isformField-input yoxlanilirki if (isFormField) { // eger isFormFIelddise switch (fileItem.getFieldName()) { case "title": title = fileItem.getString("UTF-8").trim(); break; case "category": category = fileItem.getString("UTF-8").trim(); break; case "article": article = fileItem.getString("UTF-8").trim(); break; case "prepareRules": prepareRules = fileItem.getString("UTF-8").trim(); break; case "image": image = fileItem.getString("UTF-8").trim(); break; case "tags": composition.add(fileItem.getString("UTF-8").trim()); break; case "prep_time": prep_time = fileItem.getString("UTF-8").trim(); break; case "cook_time": cook_time = fileItem.getString("UTF-8").trim(); break; case "total_time": total_time = fileItem.getString("UTF-8").trim(); break; } } else { if (fileItem.getFieldName().equals("image")) { if (!fileItem.getString("UTF-8").trim().equals("")) { image = fileItem.getName(); image = dao.generateCode() + image; String relativeWebPath = "photos"; String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath); File file = new File(absoluteDiskPath + "/", image); fileItem.write(file); } } } } Recipe recipe = new Recipe(); recipe.setArticle(article); recipe.setCategory(category); String comps = ""; for (String c : composition) comps += c + ","; if (comps.contains(",")) comps = comps.substring(0, comps.length() - 1); recipe.setComposition(comps); if (image.isEmpty()) { image = "defaultrecipe.jpg"; } recipe.setImage(image); recipe.setLike_count(0); recipe.setPrepared_rules(prepareRules); recipe.setTitle(title); recipe.setUser_id(Integer.parseInt(session.getAttribute("user_id").toString())); recipe.setVisible(1); recipe.setPrep_time(prep_time); recipe.setCook_time(cook_time); recipe.setTotal_time(total_time); dao.insertRecipe(recipe); response.sendRedirect("addRecipe.jsp?success="); } catch (Exception e) { e.printStackTrace(System.out); } } else if (request.getParameter("id") != null) { response.sendRedirect("recipeDetails.jsp?id=" + request.getParameter("id")); } else { response.sendRedirect("index.jsp"); } }
From source file:it.univaq.servlet.Modifica_pub.java
protected boolean action_upload(HttpServletRequest request) throws FileUploadException, Exception { HttpSession s = SecurityLayer.checkSession(request); //dichiaro mappe Map pubb = new HashMap(); Map rist = new HashMap(); Map key = new HashMap(); Map files = new HashMap(); Map modifica = new HashMap(); int id = Integer.parseInt(request.getParameter("id")); if (ServletFileUpload.isMultipartContent(request)) { //La dimensione massima di ogni singolo file su system int dimensioneMassimaDelFileScrivibieSulFileSystemInByte = 10 * 1024 * 1024; // 10 MB //Dimensione massima della request int dimensioneMassimaDellaRequestInByte = 20 * 1024 * 1024; // 20 MB // Creo un factory per l'accesso al filesystem DiskFileItemFactory factory = new DiskFileItemFactory(); //Setto la dimensione massima di ogni file, opzionale factory.setSizeThreshold(dimensioneMassimaDelFileScrivibieSulFileSystemInByte); // Istanzio la classe per l'upload ServletFileUpload upload = new ServletFileUpload(factory); // Setto la dimensione massima della request upload.setSizeMax(dimensioneMassimaDellaRequestInByte); // Parso la riquest della servlet, mi viene ritornata una lista di FileItem con // tutti i field sia di tipo file che gli altri List<FileItem> items = upload.parseRequest(request); /*// w w w . j a va 2 s . c om * La classe usata non permette di riprendere i singoli campi per * nome quindi dovremmo scorrere la lista che ci viene ritornata con * il metodo parserequest */ //scorro per tutti i campi inviati for (int i = 0; i < items.size(); i++) { FileItem item = items.get(i); // Controllo se si tratta di un campo di input normale if (item.isFormField()) { // Prendo solo il nome e il valore String name = item.getFieldName(); String value = item.getString(); if (name.equals("titolo") || name.equals("autore") || name.equals("descrizione")) { pubb.put(name, value); } else if (name.equals("isbn") || name.equals("editore") || name.equals("lingua") || name.equals("numpagine") || name.equals("datapubbl")) { rist.put(name, value); } else if (name.equals("key1") || name.equals("key2") || name.equals("key3") || name.equals("key4")) { key.put(name, value); } else if (name.equals("descrizionemod")) { modifica.put(name, value); } } // Se si stratta invece di un file else { // Dopo aver ripreso tutti i dati disponibili name,type,size //String fieldName = item.getFieldName(); String fileName = item.getName(); String contentType = item.getContentType(); long sizeInBytes = item.getSize(); //li salvo nella mappa files.put("name", fileName); files.put("type", contentType); files.put("size", sizeInBytes); //li scrivo nel db //Database.connect(); Database.insertRecord("files", files); //Database.close(); // Posso scriverlo direttamente su filesystem if (true) { File uploadedFile = new File( getServletContext().getInitParameter("uploads.directory") + fileName); // Solo se veramente ho inviato qualcosa if (item.getSize() > 0) { item.write(uploadedFile); } } } } pubb.put("idutente", s.getAttribute("userid")); modifica.put("userid", s.getAttribute("userid")); modifica.put("idpubb", id); try { // if(Database.updateRecord("keyword", key, "id="+id)){ //aggiorno ora la pubblicazione con tutti i dati Database.updateRecord("keyword", key, "id=" + id); Database.updateRecord("pubblicazione", pubb, "id=" + id); Database.updateRecord("ristampa", rist, "idpub=" + id); Database.insertRecord("storia", modifica); // //vado alla pagina di corretto inserimento return true; } catch (SQLException ex) { Logger.getLogger(Modifica_pub.class.getName()).log(Level.SEVERE, null, ex); } } else return false; return false; }
From source file:com.pureinfo.tgirls.servlet.TestServlet.java
private File uploadFile(HttpServletRequest request) throws Exception { // ,??ServletFileUpload DiskFileItemFactory dfif = new DiskFileItemFactory(); dfif.setSizeThreshold(4096);// ?,4K. String tempfilepath = FileFactory.getInstance().lookupPathConfigByFlag("UP", true).getLocalPath(); dfif.setRepository(new File(tempfilepath));// // //from w ww . ja v a 2s.co m ServletFileUpload sfu = new ServletFileUpload(dfif); sfu.setHeaderEncoding("utf-8"); // //sfu.setSizeMax(MAX_SIZE_5M); // PrintWriter out = response.getWriter(); // request List fileList = null; try { fileList = sfu.parseRequest(request); } catch (FileUploadException e) {// ? logger.error("FileUploadException", e); if (e instanceof SizeLimitExceededException) { throw new Exception("?:" + MAX_SIZE_5M / 1024 + "K"); } } // if (fileList == null || fileList.size() == 0) { throw new Exception(""); } // Iterator fileItr = fileList.iterator(); // ? while (fileItr.hasNext()) { FileItem fileItem = null; String path = null; long size = 0; // ? fileItem = (FileItem) fileItr.next(); // ?form?(<input type="text" />) if (fileItem == null || fileItem.isFormField()) { continue; } // path = fileItem.getName(); logger.debug("path:" + path); // ? size = fileItem.getSize(); if ("".equals(path) || size == 0) { throw new Exception(""); } // ?? String t_name = path.substring(path.lastIndexOf("\\") + 1); // ??(????) String t_ext = t_name.substring(t_name.lastIndexOf(".") + 1); logger.debug("the file ext name:" + t_ext); // ??? int allowFlag = 0; int allowedExtCount = allowedExt.length; for (; allowFlag < allowedExtCount; allowFlag++) { if (allowedExt[allowFlag].equals(t_ext.toLowerCase())) break; } if (allowFlag == allowedExtCount) { String error = ":"; for (allowFlag = 0; allowFlag < allowedExtCount; allowFlag++) error += "*." + allowedExt[allowFlag] + " "; throw new Exception(error); } // ? String u_name = FileFactory.getInstance().getNextFileName("UP", t_ext, true); File temp = new File(u_name); int[] imgSize = getimgSize(fileItem); if ((imgSize[0] > 0 && imgSize[0] < 300) || (imgSize[1] > 0 && imgSize[1] < 300)) { throw new Exception("300x300"); } logger.debug("to write file:" + temp); // ? fileItem.write(temp); temp = resizePic(temp); return temp; } throw new Exception(""); }
From source file:com.blog.fckeditor.ConnectorServlet.java
/** * Manage the <code>POST</code> requests (<code>FileUpload</code>).<br /> * /*ww w . j a v a2s.co m*/ * The servlet accepts commands sent in the following format:<br /> * <code>connector?Command=<FileUpload>&Type=<ResourceType>&CurrentFolder=<FolderPath></code> * with the file in the <code>POST</code> body.<br /> * <br> * It stores an uploaded file (renames a file if another exists with the * same name) and then returns the JavaScript callback. */ @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.debug("Entering Connector#doPost"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); String commandStr = request.getParameter("Command"); String typeStr = request.getParameter("Type"); String currentFolderStr = request.getParameter("CurrentFolder"); logger.debug("Parameter Command: {}", commandStr); logger.debug("Parameter Type: {}", typeStr); logger.debug("Parameter CurrentFolder: {}", currentFolderStr); UploadResponse ur; // if this is a QuickUpload request, 'commandStr' and 'currentFolderStr' // are empty if (Utils.isEmpty(commandStr) && Utils.isEmpty(currentFolderStr)) { commandStr = "QuickUpload"; currentFolderStr = "/"; } if (!RequestCycleHandler.isEnabledForFileUpload(request)) ur = new UploadResponse(UploadResponse.SC_SECURITY_ERROR, null, null, Messages.NOT_AUTHORIZED_FOR_UPLOAD); else if (!CommandHandler.isValidForPost(commandStr)) ur = new UploadResponse(UploadResponse.SC_ERROR, null, null, Messages.INVALID_COMMAND); else if (typeStr != null && !ResourceTypeHandler.isValid(typeStr)) ur = new UploadResponse(UploadResponse.SC_ERROR, null, null, Messages.INVALID_TYPE); else if (!UtilsFile.isValidPath(currentFolderStr)) ur = UploadResponse.UR_INVALID_CURRENT_FOLDER; else { ResourceTypeHandler resourceType = ResourceTypeHandler.getDefaultResourceType(typeStr); String typePath = UtilsFile.constructServerSidePath(request, resourceType); String typeDirPath = getServletContext().getRealPath(typePath); File typeDir = new File(typeDirPath); UtilsFile.checkDirAndCreate(typeDir); File currentDir = new File(typeDir, currentFolderStr); if (!currentDir.exists()) ur = UploadResponse.UR_INVALID_CURRENT_FOLDER; else { String newFilename = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); // upload.setHeaderEncoding("UTF-8"); try { List<FileItem> items = upload.parseRequest(request); // We upload only one file at the same time FileItem uplFile = items.get(0); String rawName = UtilsFile.sanitizeFileName(uplFile.getName()); String filename = FilenameUtils.getName(rawName); String baseName = FilenameUtils.removeExtension(filename); String extension = FilenameUtils.getExtension(filename); // filename = UUID.randomUUID().toString() + "." + extension; if (!ExtensionsHandler.isAllowed(resourceType, extension)) ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION); else { // construct an unique file name File pathToSave = new File(currentDir, filename); int counter = 1; while (pathToSave.exists()) { newFilename = baseName.concat("(").concat(String.valueOf(counter)).concat(")") .concat(".").concat(extension); pathToSave = new File(currentDir, newFilename); counter++; } if (Utils.isEmpty(newFilename)) ur = new UploadResponse(UploadResponse.SC_OK, UtilsResponse.constructResponseUrl(request, resourceType, currentFolderStr, true, ConnectorHandler.isFullUrl()).concat(filename)); else ur = new UploadResponse(UploadResponse.SC_RENAMED, UtilsResponse.constructResponseUrl(request, resourceType, currentFolderStr, true, ConnectorHandler.isFullUrl()).concat(newFilename), newFilename); // secure image check if (resourceType.equals(ResourceTypeHandler.IMAGE) && ConnectorHandler.isSecureImageUploads()) { if (UtilsFile.isImage(uplFile.getInputStream())) uplFile.write(pathToSave); else { uplFile.delete(); ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION); } } else uplFile.write(pathToSave); } } catch (Exception e) { ur = new UploadResponse(UploadResponse.SC_SECURITY_ERROR); } } } out.print(ur); out.flush(); out.close(); logger.debug("Exiting Connector#doPost"); }
From source file:com.zjl.oa.fckeditor.ConnectorServlet.java
/** * Manage the <code>POST</code> requests (<code>FileUpload</code>).<br /> * /*ww w . j a v a2s . c om*/ * The servlet accepts commands sent in the following format:<br /> * <code>connector?Command=<FileUpload>&Type=<ResourceType>&CurrentFolder=<FolderPath></code> * with the file in the <code>POST</code> body.<br /> * <br> * It stores an uploaded file (renames a file if another exists with the * same name) and then returns the JavaScript callback. */ @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.debug("Entering Connector#doPost"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); String commandStr = request.getParameter("Command"); String typeStr = request.getParameter("Type"); String currentFolderStr = request.getParameter("CurrentFolder"); logger.debug("Parameter Command: {}", commandStr); logger.debug("Parameter Type: {}", typeStr); logger.debug("Parameter CurrentFolder: {}", currentFolderStr); UploadResponse ur; // if this is a QuickUpload request, 'commandStr' and 'currentFolderStr' // are empty if (Utils.isEmpty(commandStr) && Utils.isEmpty(currentFolderStr)) { commandStr = "QuickUpload"; currentFolderStr = "/"; } if (!RequestCycleHandler.isEnabledForFileUpload(request)) ur = new UploadResponse(UploadResponse.SC_SECURITY_ERROR, null, null, Messages.NOT_AUTHORIZED_FOR_UPLOAD); else if (!CommandHandler.isValidForPost(commandStr)) ur = new UploadResponse(UploadResponse.SC_ERROR, null, null, Messages.INVALID_COMMAND); else if (typeStr != null && !ResourceTypeHandler.isValid(typeStr)) ur = new UploadResponse(UploadResponse.SC_ERROR, null, null, Messages.INVALID_TYPE); else if (!UtilsFile.isValidPath(currentFolderStr)) ur = UploadResponse.UR_INVALID_CURRENT_FOLDER; else { ResourceTypeHandler resourceType = ResourceTypeHandler.getDefaultResourceType(typeStr); String typePath = UtilsFile.constructServerSidePath(request, resourceType); String typeDirPath = getServletContext().getRealPath(typePath); File typeDir = new File(typeDirPath); UtilsFile.checkDirAndCreate(typeDir); File currentDir = new File(typeDir, currentFolderStr); if (!currentDir.exists()) ur = UploadResponse.UR_INVALID_CURRENT_FOLDER; else { String newFilename = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); //?? upload.setHeaderEncoding("UTF-8"); try { List<FileItem> items = upload.parseRequest(request); // We upload only one file at the same time FileItem uplFile = items.get(0); String rawName = UtilsFile.sanitizeFileName(uplFile.getName()); String filename = FilenameUtils.getName(rawName); String baseName = FilenameUtils.removeExtension(filename); String extension = FilenameUtils.getExtension(filename); //??? filename = UUID.randomUUID().toString() + "." + extension; if (!ExtensionsHandler.isAllowed(resourceType, extension)) ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION); else { // construct an unique file name File pathToSave = new File(currentDir, filename); int counter = 1; while (pathToSave.exists()) { newFilename = baseName.concat("(").concat(String.valueOf(counter)).concat(")") .concat(".").concat(extension); pathToSave = new File(currentDir, newFilename); counter++; } if (Utils.isEmpty(newFilename)) ur = new UploadResponse(UploadResponse.SC_OK, UtilsResponse.constructResponseUrl(request, resourceType, currentFolderStr, true, ConnectorHandler.isFullUrl()).concat(filename)); else ur = new UploadResponse(UploadResponse.SC_RENAMED, UtilsResponse.constructResponseUrl(request, resourceType, currentFolderStr, true, ConnectorHandler.isFullUrl()).concat(newFilename), newFilename); // secure image check if (resourceType.equals(ResourceTypeHandler.IMAGE) && ConnectorHandler.isSecureImageUploads()) { if (UtilsFile.isImage(uplFile.getInputStream())) uplFile.write(pathToSave); else { uplFile.delete(); ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION); } } else uplFile.write(pathToSave); } } catch (Exception e) { ur = new UploadResponse(UploadResponse.SC_SECURITY_ERROR); } } } out.print(ur); out.flush(); out.close(); logger.debug("Exiting Connector#doPost"); }
From source file:com.laijie.fckeditor.ConnectorServlet.java
/** * Manage the <code>POST</code> requests (<code>FileUpload</code>).<br /> * /*from w w w .java2s .com*/ * The servlet accepts commands sent in the following format:<br /> * <code>connector?Command=<FileUpload>&Type=<ResourceType>&CurrentFolder=<FolderPath></code> * with the file in the <code>POST</code> body.<br /> * <br> * It stores an uploaded file (renames a file if another exists with the * same name) and then returns the JavaScript callback. */ @SuppressWarnings("unchecked") public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.debug("Entering Connector#doPost"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html; charset=UTF-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); String commandStr = request.getParameter("Command"); String typeStr = request.getParameter("Type"); String currentFolderStr = request.getParameter("CurrentFolder"); logger.debug("Parameter Command: {}", commandStr); logger.debug("Parameter Type: {}", typeStr); logger.debug("Parameter CurrentFolder: {}", currentFolderStr); UploadResponse ur; // if this is a QuickUpload request, 'commandStr' and 'currentFolderStr' // are empty if (Utils.isEmpty(commandStr) && Utils.isEmpty(currentFolderStr)) { commandStr = "QuickUpload"; currentFolderStr = "/"; } if (!RequestCycleHandler.isEnabledForFileUpload(request)) ur = new UploadResponse(UploadResponse.SC_SECURITY_ERROR, null, null, Messages.NOT_AUTHORIZED_FOR_UPLOAD); else if (!CommandHandler.isValidForPost(commandStr)) ur = new UploadResponse(UploadResponse.SC_ERROR, null, null, Messages.INVALID_COMMAND); else if (typeStr != null && !ResourceTypeHandler.isValid(typeStr)) ur = new UploadResponse(UploadResponse.SC_ERROR, null, null, Messages.INVALID_TYPE); else if (!UtilsFile.isValidPath(currentFolderStr)) ur = UploadResponse.UR_INVALID_CURRENT_FOLDER; else { ResourceTypeHandler resourceType = ResourceTypeHandler.getDefaultResourceType(typeStr); String typePath = UtilsFile.constructServerSidePath(request, resourceType); String typeDirPath = getServletContext().getRealPath(typePath); File typeDir = new File(typeDirPath); UtilsFile.checkDirAndCreate(typeDir); File currentDir = new File(typeDir, currentFolderStr); if (!currentDir.exists()) ur = UploadResponse.UR_INVALID_CURRENT_FOLDER; else { String newFilename = null; FileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); // upload.setHeaderEncoding("UTF-8"); try { List<FileItem> items = upload.parseRequest(request); // We upload only one file at the same time FileItem uplFile = items.get(0); String rawName = UtilsFile.sanitizeFileName(uplFile.getName()); String filename = FilenameUtils.getName(rawName); String baseName = FilenameUtils.removeExtension(filename); String extension = FilenameUtils.getExtension(filename); // filename = UUID.randomUUID().toString() + "." + extension; if (!ExtensionsHandler.isAllowed(resourceType, extension)) ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION); else { // construct an unique file name File pathToSave = new File(currentDir, filename); int counter = 1; while (pathToSave.exists()) { newFilename = baseName.concat("(").concat(String.valueOf(counter)).concat(")") .concat(".").concat(extension); pathToSave = new File(currentDir, newFilename); counter++; } if (Utils.isEmpty(newFilename)) ur = new UploadResponse(UploadResponse.SC_OK, UtilsResponse.constructResponseUrl(request, resourceType, currentFolderStr, true, ConnectorHandler.isFullUrl()).concat(filename)); else ur = new UploadResponse(UploadResponse.SC_RENAMED, UtilsResponse.constructResponseUrl(request, resourceType, currentFolderStr, true, ConnectorHandler.isFullUrl()).concat(newFilename), newFilename); // secure image check if (resourceType.equals(ResourceTypeHandler.IMAGE) && ConnectorHandler.isSecureImageUploads()) { if (UtilsFile.isImage(uplFile.getInputStream())) uplFile.write(pathToSave); else { uplFile.delete(); ur = new UploadResponse(UploadResponse.SC_INVALID_EXTENSION); } } else uplFile.write(pathToSave); } } catch (Exception e) { ur = new UploadResponse(UploadResponse.SC_SECURITY_ERROR); } } } out.print(ur); out.flush(); out.close(); logger.debug("Exiting Connector#doPost"); }