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:it.cilea.osd.jdyna.editor.FilePropertyEditor.java

@Override
public void setValue(Object value) {
    if (value instanceof MultipartFile) {
        MultipartFile multipart = (MultipartFile) value;
        if (multipart.getSize() > 0) {
            try {
                EmbeddedFile file = widgetFile.load(multipart.getInputStream(), multipart.getOriginalFilename(),
                        multipart.getContentType(), getExternalAuthority(), getInternalAuthority());
                super.setValue(new ValoreDTO(file));
            } catch (IOException ex) {
                log.warn("Cannot read contents of multipart file", ex);
                throw new IllegalArgumentException(
                        "Cannot read contents of multipart file: " + ex.getMessage());

            }//  w ww.  j  av  a2 s  .com
        } else {
            setValue(null);
        }
    } else {
        super.setValue(value);
    }
}

From source file:org.openlmis.fulfillment.service.TemplateServiceTest.java

@Test
public void shouldThrowErrorIfThereAreExtraParameterProperties() throws Exception {
    expectedException.expect(ReportingException.class);
    expectedException.expectMessage(REPORTING_EXTRA_PROPERTIES);
    MultipartFile file = mock(MultipartFile.class);
    when(file.getOriginalFilename()).thenReturn(NAME_OF_FILE);

    mockStatic(JasperCompileManager.class);
    JasperReport report = mock(JasperReport.class);
    InputStream inputStream = mock(InputStream.class);
    when(file.getInputStream()).thenReturn(inputStream);

    JRParameter param1 = mock(JRParameter.class);
    JRPropertiesMap propertiesMap = mock(JRPropertiesMap.class);

    when(report.getParameters()).thenReturn(new JRParameter[] { param1 });
    when(JasperCompileManager.compileReport(inputStream)).thenReturn(report);
    when(param1.getPropertiesMap()).thenReturn(propertiesMap);
    String[] propertyNames = { "name1", "name2", "name3" };
    when(propertiesMap.getPropertyNames()).thenReturn(propertyNames);
    Template template = new Template();

    templateService.validateFileAndInsertTemplate(template, file);

    verify(templateService, never()).saveWithParameters(template);
}

From source file:com.lioland.harmony.web.controller.FileController.java

/**
 * *************************************************
 * URL: /rest/controller/upload upload(): receives files
 *
 * @param request : MultipartHttpServletRequest auto passed
 * @param response : HttpServletResponse auto passed
 * @return LinkedList<FileMeta> as json format
 * **************************************************
 *///from   w  ww. j  av  a 2s  . co  m
@RequestMapping(value = "/file-upload", method = RequestMethod.POST)
public @ResponseBody LinkedList<FileMeta> upload(HttpServletRequest req, HttpServletResponse response) {
    MultipartHttpServletRequest request = (MultipartHttpServletRequest) req;
    //1. build an iterator
    Iterator<String> itr = request.getFileNames();
    MultipartFile mpf = null;

    //2. get each file
    while (itr.hasNext()) {

        //2.1 get next MultipartFile
        mpf = request.getFile(itr.next());
        System.out.println(mpf.getOriginalFilename() + " uploaded! " + files.size());

        //2.2 if files > 10 remove the first from the list
        if (files.size() >= 10) {
            files.pop();
        }

        //2.3 create new fileMeta
        fileMeta = new FileMeta();
        fileMeta.setFileName(mpf.getOriginalFilename());
        fileMeta.setFileSize(mpf.getSize() / 1024 + " Kb");
        fileMeta.setFileType(mpf.getContentType());

        try {
            fileMeta.setBytes(mpf.getBytes());
            File folder = new File("D:\\GitHub\\Harmony\\Harmony\\Web\\src\\main\\webapp\\resources\\files");
            FileUtils.forceMkdir(folder);
            FileCopyUtils.copy(mpf.getBytes(),
                    new FileOutputStream(new File(folder, mpf.getOriginalFilename())));

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //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.qcadoo.model.internal.file.FileServiceImpl.java

@Override
public String upload(final MultipartFile multipartFile) throws IOException {
    File file = getFileFromFilenameWithRandomDirectory(multipartFile.getOriginalFilename());

    OutputStream output = null;/*from  w  ww.j  a v  a  2  s  . c o m*/

    try {
        output = new FileOutputStream(file);
        IOUtils.copy(multipartFile.getInputStream(), output);
    } catch (IOException e) {
        LOG.error(e.getMessage(), e);
        IOUtils.closeQuietly(output);
        throw e;
    }

    return file.getAbsolutePath();
}

From source file:it.polimi.diceH2020.launcher.controller.rest.RestFilesController.java

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public ResponseEntity<BaseResponseBody> multipleSave(@RequestParam("file[]") List<MultipartFile> files,
        @RequestParam("scenario") String scenarioStringRepresentation) {
    BaseResponseBody body = new BaseResponseBody();
    PendingSubmission submission = new PendingSubmission();

    Scenario scenario = Scenario.generateScenario(scenarioStringRepresentation);
    body.setScenario(scenario);/* w  w w.  ja v a2s.  co  m*/
    submission.setScenario(scenario);

    body.setAcceptedFiles(new LinkedList<>());
    ResponseEntity<BaseResponseBody> response = new ResponseEntity<>(body, HttpStatus.INTERNAL_SERVER_ERROR);

    boolean good_status = true;
    List<String> additionalFileNames = new LinkedList<>();
    List<File> allSavedFiles = new LinkedList<>();

    if (files == null || files.isEmpty()) {
        String message = "No files to process!";
        logger.error(message);
        body.setMessage(message);
        response = new ResponseEntity<>(body, HttpStatus.BAD_REQUEST);
        good_status = false;
    } else {
        Iterator<MultipartFile> multipartFileIterator = files.iterator();

        while (good_status && multipartFileIterator.hasNext()) {
            MultipartFile multipartFile = multipartFileIterator.next();
            String fileName = new File(multipartFile.getOriginalFilename()).getName();
            logger.trace("Analyzing file " + fileName);
            File savedFile = null;
            try {
                savedFile = saveFile(multipartFile, fileName);
                allSavedFiles.add(savedFile);
            } catch (FileNameClashException e) {
                String message = String.format("'%s' already exists", fileName);
                logger.error(message, e);
                body.setMessage(message);
                response = new ResponseEntity<>(body, HttpStatus.BAD_REQUEST);
                good_status = false;
            } catch (IOException e) {
                String message = String.format("Error handling '%s'", fileName);
                logger.error(message, e);
                body.setMessage(message);
                response = new ResponseEntity<>(body, HttpStatus.INTERNAL_SERVER_ERROR);
                good_status = false;
            }

            if (good_status) {
                if (fileName.contains(".json")) {
                    Optional<InstanceDataMultiProvider> idmp = validator
                            .readInstanceDataMultiProvider(savedFile.toPath());
                    if (idmp.isPresent()) {
                        if (idmp.get().validate()) {
                            submission.setInstanceData(savedFile.getPath());
                            body.getAcceptedFiles().add(savedFile.getName());
                        } else {
                            logger.error(idmp.get().getValidationError());
                            body.setMessage(idmp.get().getValidationError());
                            response = new ResponseEntity<>(body, HttpStatus.BAD_REQUEST);
                            good_status = false;
                        }
                    } else {
                        String message = "You have submitted an invalid json!";
                        logger.error(message);
                        body.setMessage(message);
                        response = new ResponseEntity<>(body, HttpStatus.BAD_REQUEST);
                        good_status = false;
                    }
                } else if (fileName.contains(".txt") || fileName.contains(".jsimg") || fileName.contains(".def")
                        || fileName.contains(".net") || fileName.contains(".stat")) {
                    additionalFileNames.add(savedFile.getPath());
                    body.getAcceptedFiles().add(savedFile.getName());
                }
            }
        }
    }

    if (good_status) {
        body.setMessage("Successful file upload");

        submission.setPaths(additionalFileNames);
        diceService.updateSubmission(submission);

        body.setSubmissionId(submission.getId());
        Link submissionLink = ControllerLinkBuilder.linkTo(ControllerLinkBuilder
                .methodOn(RestLaunchAnalysisController.class).submitById(submission.getId())).withRel("submit");
        body.add(submissionLink);

        logger.info(body);
        response = new ResponseEntity<>(body, HttpStatus.OK);
    } else {
        if (fileUtility.delete(allSavedFiles)) {
            logger.debug("Deleted the files created during a failed submission");
        }
    }

    return response;
}

From source file:org.openlmis.fulfillment.service.TemplateServiceTest.java

@Test
public void shouldThrowErrorIfDisplayNameOfParameterIsMissing() throws Exception {
    expectedException.expect(ReportingException.class);
    expectedException.expect(hasProperty("params", arrayContaining("displayName")));
    expectedException.expectMessage(REPORTING_PARAMETER_MISSING);

    MultipartFile file = mock(MultipartFile.class);
    when(file.getOriginalFilename()).thenReturn(NAME_OF_FILE);

    mockStatic(JasperCompileManager.class);
    JasperReport report = mock(JasperReport.class);
    InputStream inputStream = mock(InputStream.class);
    when(file.getInputStream()).thenReturn(inputStream);

    JRParameter param1 = mock(JRParameter.class);
    JRParameter param2 = mock(JRParameter.class);
    JRPropertiesMap propertiesMap = mock(JRPropertiesMap.class);

    when(report.getParameters()).thenReturn(new JRParameter[] { param1, param2 });
    when(JasperCompileManager.compileReport(inputStream)).thenReturn(report);
    when(param1.getPropertiesMap()).thenReturn(propertiesMap);
    String[] propertyNames = { "name1" };
    when(propertiesMap.getPropertyNames()).thenReturn(propertyNames);
    when(propertiesMap.getProperty(DISPLAY_NAME)).thenReturn(null);
    Template template = new Template();

    templateService.validateFileAndInsertTemplate(template, file);

    verify(templateService, never()).saveWithParameters(template);
}

From source file:com.emergya.persistenceGeo.web.RestResourcesController.java

/**
 * Obtain a resource from a multipart file 
 * /*  ww  w  .  ja  v a 2 s .c  om*/
 * @param file
 * @param resourceId
 * 
 * @return resource
 */
private ResourceDto multipartFileToResource(MultipartFile file, Long resourceId) {

    //
    ResourceDto resource = new ResourceDto();

    // simple properties
    resource.setName(file.getOriginalFilename());
    resource.setSize(file.getSize());
    resource.setType(file.getContentType());
    resource.setAccessId(resourceId);

    // obtain data
    byte[] data;
    String extension = "png";
    if (resource.getType() != null) {
        if (resource.getType().split("/").length > 0) {
            extension = resource.getType().split("/")[resource.getType().split("/").length - 1];
        } else {
            extension = resource.getType();
        }
    }
    try {
        data = IOUtils.toByteArray(file.getInputStream());
        File temp = com.emergya.persistenceGeo.utils.FileUtils.createFileTemp(resource.getName(), extension);
        org.apache.commons.io.FileUtils.writeByteArrayToFile(temp, data);
        resource.setData(temp);
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return resource;
}

From source file:eea.eprtr.cms.controller.FileOpsController.java

private String storeFile(MultipartFile myFile) throws IOException {
    String fileName = storageService.save(myFile, "docs");
    String userName = getUserName();
    logger.info("Uploaded: " + myFile.getOriginalFilename() + " by " + userName);
    return fileName;
}

From source file:com.glaf.activiti.web.springmvc.ActivitiDeployController.java

/**
 * /*from   w w w  .  j  a va2 s.c o  m*/
 * @param model
 * @param mFile
 * @return
 * @throws IOException
 */
@RequestMapping(method = RequestMethod.POST)
public String processSubmit(Model model, @RequestParam("file") MultipartFile mFile) throws IOException {
    if (!mFile.isEmpty()) {
        String deploymentId = null;
        ProcessDefinition processDefinition = null;
        if (mFile.getOriginalFilename().endsWith(".zip") || mFile.getOriginalFilename().endsWith(".jar")) {
            ZipInputStream zipInputStream = null;
            try {
                zipInputStream = new ZipInputStream(mFile.getInputStream());
                deploymentId = activitiDeployService.addZipInputStream(zipInputStream).getId();
            } finally {
                IOUtils.closeStream(zipInputStream);
            }
        } else {
            String resourceName = FileUtils.getFilename(mFile.getOriginalFilename());
            deploymentId = activitiDeployService.addInputStream(resourceName, mFile.getInputStream()).getId();
        }
        if (StringUtils.isNotEmpty(deploymentId)) {
            logger.debug("deploymentId:" + deploymentId);
            processDefinition = activitiProcessQueryService.getProcessDefinitionByDeploymentId(deploymentId);
            if (processDefinition != null) {
                model.addAttribute("processDefinition", processDefinition);
                model.addAttribute("deploymentId", processDefinition.getDeploymentId());
                String resourceName = processDefinition.getDiagramResourceName();
                if (resourceName != null) {
                    ProcessUtils.saveProcessImageToFileSystem(processDefinition);
                    String path = "/deploy/bpmn/" + ProcessUtils.getImagePath(processDefinition);
                    model.addAttribute("path", path);
                    return "/activiti/deploy/showImage";
                }
            }
        }
    }

    String view = ViewProperties.getString("activiti.deploy");
    if (StringUtils.isNotEmpty(view)) {
        return view;
    }

    return "/activiti/deploy/deploy";
}

From source file:csns.util.FileIO.java

public File save(MultipartFile uploadedFile, User user, File parent, boolean isPublic) {
    if (uploadedFile.isEmpty())
        return null;

    File file = new File();
    file.setName(uploadedFile.getOriginalFilename());
    file.setType(uploadedFile.getContentType());
    file.setSize(uploadedFile.getSize());
    file.setOwner(user);//from   w  ww  . j  a  v a  2 s  . c o  m
    file.setParent(parent);
    file.setPublic(isPublic);
    file = fileDao.saveFile(file);

    java.io.File diskFile = getDiskFile(file, false);
    try {
        uploadedFile.transferTo(diskFile);
    } catch (Exception e) {
        logger.error("Failed to save uploaded file", e);
    }

    return file;
}