Example usage for org.springframework.web.multipart MultipartFile getOriginalFilename

List of usage examples for org.springframework.web.multipart MultipartFile getOriginalFilename

Introduction

In this page you can find the example usage for org.springframework.web.multipart MultipartFile getOriginalFilename.

Prototype

@Nullable
String getOriginalFilename();

Source Link

Document

Return the original filename in the client's filesystem.

Usage

From source file:io.restassured.examples.springmvc.controller.FileUploadController.java

@RequestMapping(value = "/textAndReturnHeader", method = POST, consumes = "multipart/mixed", produces = APPLICATION_JSON_VALUE)
public ResponseEntity<String> fileUploadWithControlNameEqualToSomething(
        @RequestHeader("Content-Type") String requestContentType,
        @RequestParam(value = "something") MultipartFile file) {
    return ResponseEntity.ok().header(APPLICATION_JSON_VALUE).header("X-Request-Header", requestContentType)
            .body("{ \"size\" : " + file.getSize() + ", \"name\" : \"" + file.getName()
                    + "\", \"originalName\" : \"" + file.getOriginalFilename() + "\", \"mimeType\" : \""
                    + file.getContentType() + "\" }");
}

From source file:mvc.controller.UsuarioController.java

@RequestMapping(value = "/adicionaUsuario", method = RequestMethod.POST)
public String adiciona(HttpServletRequest request, Model model) {
    /*//from   w  w w.  j  a  v  a 2  s  . c om
    Configuracoes necessrias
    Fonte: http://www.pablocantero.com/blog/2010/09/29/upload-com-spring-mvc/
    */
    try {
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile multipartFile = multipartRequest.getFile("photo");

        String destinyPath = "C:\\PhotosNetbeans\\";
        if (!(new File(destinyPath)).exists()) {
            (new File(destinyPath)).mkdir();
        }

        String photoName = multipartFile.getOriginalFilename();
        String photoPath = destinyPath + photoName;

        File photoFile = new File(photoPath);
        multipartFile.transferTo(photoFile);

        //backup
        //File destinationDir = new File(applicationPath);
        //FileUtils.copyFileToDirectory(photoFile, destinationDir);

        Usuario user = new Usuario();
        user.setLogin(request.getParameter("login"));
        user.setSenha(request.getParameter("senha"));
        user.setPhoto(photoPath);

        dao.adicionaUsuario(user);
        return "usuario/usuario-adicionado";

    } catch (IOException ex) {
        model.addAttribute("erro", ex.toString());
        return "usuario/usuario-erro-adicao";
    }
}

From source file:com.sunflower.petal.controller.ImageController.java

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody Map upload(MultipartHttpServletRequest request, HttpServletResponse response) {
    log.debug("uploadPost called");
    Iterator<String> itr = request.getFileNames();
    MultipartFile mpf;
    List<Image> list = new LinkedList<Image>();

    while (itr.hasNext()) {
        mpf = request.getFile(itr.next());
        log.debug("Uploading {}", mpf.getOriginalFilename());

        String newFilenameBase = UUID.randomUUID().toString();
        String originalFileExtension = mpf.getOriginalFilename()
                .substring(mpf.getOriginalFilename().lastIndexOf("."));
        String newFilename = newFilenameBase + originalFileExtension;
        String storageDirectory = fileUploadDirectory;
        String contentType = mpf.getContentType();

        File newFile = new File(storageDirectory + "/" + newFilename);
        try {//from ww  w  .  j  a  v  a 2  s . c  o m
            mpf.transferTo(newFile);

            BufferedImage thumbnail = Scalr.resize(ImageIO.read(newFile), 290);
            String thumbnailFilename = newFilenameBase + "-thumbnail.png";
            File thumbnailFile = new File(storageDirectory + "/" + thumbnailFilename);
            ImageIO.write(thumbnail, "png", thumbnailFile);

            Image image = new Image();
            image.setName(mpf.getOriginalFilename());
            image.setThumbnailFilename(thumbnailFilename);
            image.setNewFilename(newFilename);
            image.setContentType(contentType);
            image.setSize(mpf.getSize());
            image = imageService.create(image);

            image.setUrl("/picture/" + image.getId());
            image.setThumbnailUrl("/thumbnail/" + image.getId());
            image.setDeleteUrl("/delete/" + image.getId());
            image.setDeleteType("DELETE");

            list.add(image);

        } catch (IOException e) {
            log.error("Could not upload file " + mpf.getOriginalFilename(), e);
        }

    }

    Map<String, Object> files = new HashMap<String, Object>();
    files.put("files", list);
    return files;
}

From source file:cs545.proj.controller.MemberController.java

@RequestMapping(value = "/new", method = RequestMethod.POST)
public String memberUpdateWithLicense(@Valid @ModelAttribute("editMember") Member editMember,
        BindingResult result, HttpSession session) throws IllegalStateException, IOException {
    if (result.hasErrors()) {
        return "editMemberTile";
    }//  w  ww.j  a  v  a  2s .  c  om

    MultipartFile licenseFile = editMember.getLicenseMultipart();
    if ((licenseFile != null) && (!licenseFile.isEmpty())) {
        String newFilename = sdf.format(new Date()) + licenseFile.getOriginalFilename();
        String rootDirectory = session.getServletContext().getRealPath("/");
        licenseFile.transferTo(new File(rootDirectory + licensePath + newFilename));
        editMember.setLicenseFileName(newFilename);
    }

    Member savedMember = memberService.saveOrMerge(editMember);
    Set<Category> categorySet = new HashSet<Category>();
    for (Category category : savedMember.getSelectedCategories()) {
        categorySet.add(category);
    }
    for (Category category : categorySet) {
        savedMember.removeCategory(category);
    }
    List<Integer> checkedIDs = editMember.getCheckedCategoryIDs();
    if (checkedIDs != null) {
        for (Integer categoryId : checkedIDs) {
            savedMember.addCategory(categoryService.getCategoryById(categoryId));
        }
    }
    savedMember = memberService.saveOrMerge(savedMember);
    return "redirect:/member/detail";
}

From source file:edu.sampleu.kew.krad.controller.IngesterController.java

@RequestMapping(method = RequestMethod.POST, params = "methodToCall=upload")
public ModelAndView upload(@ModelAttribute("KualiForm") IngesterForm ingesterForm, BindingResult result,
        HttpServletRequest request, HttpServletResponse response) {

    List<File> tempFiles = new ArrayList<File>();

    try {/*ww w.  j  a  v  a2s . c  o  m*/

        List<XmlDocCollection> collections = new ArrayList<XmlDocCollection>();

        for (MultipartFile file : ingesterForm.getFiles()) {
            if (file == null || StringUtils.isBlank(file.getOriginalFilename())) {
                continue;
            }

            // ok, we have to copy it to *another* file because Struts doesn't give us a File
            // reference (which itself is not a bad abstraction) and XmlDocs based on ZipFile
            // can't be constructed without a file reference.
            FileOutputStream fos = null;
            File temp = null;
            try {
                temp = File.createTempFile("ingester", null);
                tempFiles.add(temp);
                fos = new FileOutputStream(temp);
                fos.write(file.getBytes());
            } catch (IOException ioe) {
                GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                        KEWConstants.ERROR_INGESTER_COPY_FILE, file.getOriginalFilename(),
                        ExceptionUtils.getFullStackTrace(ioe));
                continue;
            } finally {
                if (fos != null) {
                    try {
                        fos.close();
                    } catch (IOException ioe) {
                        //                   //LOG.error("Error closing temp file output stream: " + temp, ioe);
                    }
                }
            }
            if (file.getOriginalFilename().toLowerCase().endsWith(".zip")) {
                try {
                    collections.add(new ZipXmlDocCollection(temp));
                } catch (IOException ioe) {
                    GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                            KEWConstants.ERROR_INGESTER_LOAD_FILE, file.getOriginalFilename());
                }
            } else if (file.getOriginalFilename().endsWith(".xml")) {
                collections.add(new FileXmlDocCollection(temp, file.getOriginalFilename()));
            } else {
                GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                        KEWConstants.ERROR_INGESTER_EXTRANEOUS_FILE, file.getOriginalFilename());
            }
        }

        if (collections.size() == 0) {
            String message = "No valid files to ingest";
            GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                    KEWConstants.ERROR_INGESTER_NO_VALID_FILES);
        } else {
            // wrap in composite collection to make transactional
            CompositeXmlDocCollection compositeCollection = new CompositeXmlDocCollection(collections);
            int totalProcessed = 0;
            List<XmlDocCollection> c = new ArrayList<XmlDocCollection>(1);
            c.add(compositeCollection);
            try {
                Collection<XmlDocCollection> failed = CoreApiServiceLocator.getXmlIngesterService().ingest(c,
                        GlobalVariables.getUserSession().getPrincipalId());
                boolean txFailed = failed.size() > 0;
                if (txFailed) {
                    GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                            KEWConstants.ERROR_INGESTER_FAILED);
                }
                for (XmlDocCollection collection1 : collections) {
                    List<? extends XmlDoc> docs = collection1.getXmlDocs();
                    for (XmlDoc doc1 : docs) {
                        if (doc1.isProcessed()) {
                            if (!txFailed) {
                                totalProcessed++;
                                GlobalVariables.getMessageMap().putInfoForSectionId(
                                        KEWConstants.INGESTER_SECTION_ID, KEWConstants.INFO_INGESTER_SUCCESS,
                                        doc1.getName(), doc1.getProcessingMessage());
                                //                                   messages.add("Ingested xml doc: " + doc1.getName() + (doc1.getProcessingMessage() == null ? "" : "\n" + doc1.getProcessingMessage()));
                            } else {
                                GlobalVariables.getMessageMap().putErrorForSectionId(
                                        KEWConstants.INGESTER_SECTION_ID,
                                        KEWConstants.ERROR_INGESTER_ROLLEDBACK, doc1.getName(),
                                        doc1.getProcessingMessage());
                                //                                   messages.add("Rolled back doc: " + doc1.getName() + (doc1.getProcessingMessage() == null ? "" : "\n" + doc1.getProcessingMessage()));
                            }
                        } else {
                            GlobalVariables.getMessageMap().putErrorForSectionId(
                                    KEWConstants.INGESTER_SECTION_ID, KEWConstants.ERROR_INGESTER_FAILED_XML,
                                    doc1.getName(), doc1.getProcessingMessage());
                            //                               messages.add("Failed to ingest xml doc: " + doc1.getName() + (doc1.getProcessingMessage() == null ? "" : "\n" + doc1.getProcessingMessage()));
                        }
                    }
                }
            } catch (Exception e) {
                //                   String message = "Error during ingest";
                //LOG.error(message, e);
                //                   messages.add(message + ": " + e  + ":\n" + ExceptionUtils.getFullStackTrace(e));
                GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                        KEWConstants.ERROR_INGESTER_DURING_INJECT, ExceptionUtils.getFullStackTrace(e));
            }
            if (totalProcessed == 0) {
                //                   String message = "No xml docs ingested";
                GlobalVariables.getMessageMap().putErrorForSectionId(KEWConstants.INGESTER_SECTION_ID,
                        KEWConstants.ERROR_INGESTER_NO_XMLS);
            }
        }
    } finally {
        if (tempFiles.size() > 0) {
            for (File tempFile : tempFiles) {
                if (!tempFile.delete()) {
                    //LOG.warn("Error deleting temp file: " + tempFile);
                }
            }
        }
    }

    //       request.setAttribute("messages", messages);
    return getUIFModelAndView(ingesterForm);
}

From source file:feign.form.Server.java

@RequestMapping(value = "/upload/{id}", method = POST)
@ResponseStatus(OK)/*w ww . j  av  a  2s  .  c o  m*/
public ResponseEntity<Long> upload(@PathVariable("id") Integer id, @RequestParam("public") Boolean isPublic,
        @RequestParam("file") MultipartFile file) {
    HttpStatus status;
    if (id == null || id != 10) {
        status = LOCKED;
    } else if (isPublic == null || !isPublic) {
        status = FORBIDDEN;
    } else if (file.getSize() == 0) {
        status = I_AM_A_TEAPOT;
    } else if (file.getOriginalFilename() == null || file.getOriginalFilename().trim().isEmpty()) {
        status = CONFLICT;
    } else {
        status = OK;
    }
    return ResponseEntity.status(status).body(file.getSize());
}

From source file:com.ironchain.intfc.modules.member.MemberController.java

/**
 * ?/*  ww  w .j a v a  2  s  .com*/
 * @return
 */
@IgnoreApiSecurity(ignoreRequest = true, ignoreResponse = false)
@RequestMapping("/modify_head_img")
public R modifyHeadImg(@RequestParam Long userId, @RequestParam MultipartFile headImg) {
    String fileName = headImg.getOriginalFilename();
    int idx = fileName.lastIndexOf(".");
    if (idx == -1 || !UploadService.imgExt.contains(fileName.substring(idx + 1).toLowerCase())) {
        return R.error("??????\n??"
                + StringUtils.join(UploadService.imgExt, ",") + "?");
    }
    String uploadPath = uploadService.store(true, SIZE_ARR, headImg)[0];
    Member member = memberDao.findOne(userId);
    member.setHeadImg(uploadPath);
    memberDao.save(member);
    return R.ok();
}

From source file:com.shared.rides.service.SignupUserService.java

public String uploadPicFile(MultipartFile file, HttpServletRequest request) {
    Random ran = new Random();
    String fileName = ran.nextInt(999) + "_" + file.getOriginalFilename();
    //Seteo el nuevo nombre de la imagen en la sesion para luego obtenerlo de nuevo a la hora de darle de alta al usuario
    HttpSession s = request.getSession();
    s.setAttribute("picName", fileName);

    String pathFile = context.getInitParameter("img-upload");

    return UploadFile.uploadFile(file, fileName, pathFile);
}

From source file:net.przemkovv.sphinx.web.TaskSolutionController.java

private Set<File> acquireFiles(MultipartHttpServletRequest request) throws IOException {
    Set<File> files = new HashSet<>();
    //1. build an iterator
    Iterator<String> itr = request.getFileNames();
    List<MultipartFile> multipartFiles = null;
    //2. get each file
    while (itr.hasNext()) {

        //2.1 get next MultipartFile
        multipartFiles = request.getFiles(itr.next());

        for (MultipartFile multipartFile : multipartFiles) {
            if (multipartFile.getSize() == 0)
                continue;
            ;/*  w w  w  .j  a  va 2  s  .  c om*/
            logger.debug("{} uploaded! ", multipartFile.getOriginalFilename());

            //2.3 create new fileMeta
            File fileMeta = new File();
            fileMeta.setName(multipartFile.getOriginalFilename());
            fileMeta.setSize(multipartFile.getSize());
            fileMeta.setMimeType(multipartFile.getContentType());

            fileMeta.setContent(multipartFile.getBytes());
            //2.4 add to files

            files.add(fileMeta);
        }

    }
    // result will be like this
    // [{"fileName":"app_engine-85x77.png","fileSize":"8 Kb","fileType":"image/png"},...]
    return files;
}

From source file:com.yqboots.fss.web.controller.FileItemController.java

@PreAuthorize(FileItemPermissions.WRITE)
@RequestMapping(value = WebKeys.MAPPING_ROOT, method = RequestMethod.POST)
public String update(@Valid @ModelAttribute(WebKeys.MODEL) final FileUploadForm form,
        @PageableDefault final Pageable pageable, final BindingResult bindingResult, final ModelMap model)
        throws IOException {
    new FileUploadFormValidator().validate(form, bindingResult);
    if (bindingResult.hasErrors()) {
        model.addAttribute(WebKeys.PAGE, fileItemManager.findByPath(StringUtils.EMPTY, pageable));
        return VIEW_HOME;
    }//from  w  ww .j av a2  s .  c  o  m

    final MultipartFile file = form.getFile();
    final String path = form.getPath();
    final boolean overrideExisting = form.isOverrideExisting();

    final Path destination = Paths
            .get(fileItemManager.getFullPath(path) + File.separator + file.getOriginalFilename());
    if (Files.exists(destination) && overrideExisting) {
        file.transferTo(destination.toFile());
    } else {
        Files.createDirectories(destination.getParent());
        Files.createFile(destination);
        file.transferTo(destination.toFile());
    }

    model.clear();
    return REDIRECT_VIEW_PATH;
}