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:fr.esiea.esieaddress.controllers.importation.CSVImportCtrl.java

@RequestMapping(method = RequestMethod.POST)
@ResponseBody//from  w  w  w.  j a  v  a  2s .c o  m
@Secured("ROLE_USER")
public void upload(MultipartHttpServletRequest files, final HttpServletRequest request)
        throws DaoException, ServiceException, FileNotFoundException {
    LOGGER.info("[IMPORT] Start to import contact");

    //TODO Make it less verbose and may use a buffer to make it safer
    Map<String, MultipartFile> multipartFileMap = files.getMultiFileMap().toSingleValueMap();
    Set<String> fileNames = multipartFileMap.keySet();

    for (String fileName : fileNames) {

        MultipartFile multipartFile = multipartFileMap.get(fileName);
        String originalFilename = multipartFile.getOriginalFilename();

        if (checkFileName(originalFilename) && multipartFile.getSize() < FILE_SIZE_MAX) {

            InputStream inputStream = null;

            try {
                inputStream = multipartFile.getInputStream();
            } catch (IOException e) {
                throw new FileNotFoundException(e.toString());
            }

            try (Reader contactsFile = new InputStreamReader(inputStream)) {
                Map<String, Object> modelErrors = new HashMap<>();
                LOGGER.debug("[IMPORT] File is reading");
                Collection<Contact> contacts = csvService.ReadContactCSV(contactsFile);
                for (Contact contact : contacts) {
                    try {
                        contactCrudService.insert(contact);
                    } catch (ValidationException e) {
                        Object modelError = e.getModel();
                        LOGGER.warn("found an error in contact " + modelError);
                        modelErrors.put(contact.getId(), (Map) modelError);
                    }
                }

                if (!modelErrors.isEmpty())
                    throw new ValidationException(modelErrors);
            } catch (IOException e) {
                throw new FileNotFoundException(e.toString());
            } finally {
                if (inputStream != null)
                    try {
                        inputStream.close();
                    } catch (IOException e) {
                        LOGGER.error("[IMPORT] Impossible to close the file " + inputStream.toString());
                    }
            }
        }
    }
}

From source file:com.br.helpdesk.controller.AttachmentsController.java

/**
 * upload/*from  www. ja v  a 2  s . com*/
 */
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public String uploadFile(HttpServletRequest request, HttpServletResponse response) throws Exception {
    String username = request.getParameter("username");
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
    Collection<MultipartFile> filesCollection = multipartRequest.getFileMap().values();
    try {
        for (MultipartFile multipartFile : filesCollection) {
            String fileName = "##" + username + "##" + multipartFile.getOriginalFilename();
            attachmentsService.createFile(fileName, multipartFile.getBytes());
        }
    } catch (IOException e) {
        return "{success: false}";
    }
    return "{success: true}";
}

From source file:com.glaf.core.web.springmvc.MxDBUploadJsonController.java

@RequestMapping
public void upload(HttpServletRequest request, HttpServletResponse response) throws Exception {
    response.setContentType("text/html; charset=UTF-8");

    LoginContext loginContext = RequestUtils.getLoginContext(request);

    // ???//from  ww  w  .j  a  va 2 s . co m
    String[] fileTypes = new String[] { "gif", "jpg", "jpeg", "png", "bmp", "swf" };
    // ?
    long maxSize = FileUtils.MB_SIZE * 5;

    String allowSize = CustomProperties.getString("upload.maxSize");
    if (StringUtils.isEmpty(allowSize)) {
        allowSize = SystemProperties.getString("upload.maxSize");
    }

    if (StringUtils.isNotEmpty(allowSize) && StringUtils.isNumeric(allowSize)) {
        maxSize = Long.parseLong(allowSize);
    }

    MultipartHttpServletRequest req = (MultipartHttpServletRequest) request;
    String businessKey = request.getParameter("businessKey");
    String serviceKey = request.getParameter("serviceKey");
    Map<String, MultipartFile> fileMap = req.getFileMap();
    Set<Entry<String, MultipartFile>> entrySet = fileMap.entrySet();
    for (Entry<String, MultipartFile> entry : entrySet) {
        MultipartFile mFile = entry.getValue();
        if (mFile.getOriginalFilename() != null && mFile.getSize() > 0) {
            // ?
            if (mFile.getSize() > maxSize) {
                response.getWriter().write(getError("??"));
                return;
            }
            String fileName = mFile.getOriginalFilename();
            // ??
            String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
            if (!Arrays.<String>asList(fileTypes).contains(fileExt)) {
                response.getWriter().write(getError("??????"));
                return;
            }
            SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
            String newFileName = df.format(new Date()) + "_" + new Random().nextInt(10000) + "." + fileExt;
            try {
                DataFile dataFile = new BlobItemEntity();
                dataFile.setBusinessKey(businessKey);
                dataFile.setCreateBy(loginContext.getActorId());
                dataFile.setCreateDate(new Date());
                dataFile.setFileId(newFileName);
                dataFile.setLastModified(System.currentTimeMillis());
                dataFile.setName(fileName);
                if (StringUtils.isNotEmpty(serviceKey)) {
                    dataFile.setServiceKey(serviceKey);
                } else {
                    dataFile.setServiceKey("IMG_" + loginContext.getActorId());
                }
                dataFile.setData(mFile.getBytes());
                dataFile.setFilename(fileName);
                dataFile.setType(fileExt);
                dataFile.setSize(mFile.getSize());
                dataFile.setStatus(1);
                blobService.insertBlob(dataFile);
            } catch (Exception ex) {
                ex.printStackTrace();
                response.getWriter().write(getError(""));
                return;
            }

            JSONObject object = new JSONObject();
            object.put("error", 0);
            object.put("url", request.getContextPath() + "/rs/blob/file/" + newFileName);
            response.getWriter().write(object.toString());
        }
    }
}

From source file:cs544.videohouse.validator.ImageConstraintValidator.java

@Override
public boolean isValid(MultipartFile image, ConstraintValidatorContext context) {
    boolean valid = true;
    if (image.isEmpty()) {
        valid = false;//w w w. j  a  v  a  2  s  .  com
    } else {
        String imageExt = FilenameUtils.getExtension(image.getOriginalFilename());
        if (!"png".equals(imageExt) && !"jpg".equals(imageExt) && !"jpeg".equals(imageExt)
                && !"bmp".equals(imageExt)) {
            valid = false;
        }
    }
    return valid;
}

From source file:de.whs.poodle.controllers.ImageController.java

@RequestMapping(value = "/instructor/images/{courseId}", method = RequestMethod.POST)
@ResponseBody // send the response directly to the client instead of rendering an HTML page
public String uploadImage(@ModelAttribute Instructor instructor, @PathVariable int courseId,
        @RequestParam int CKEditorFuncNum, MultipartHttpServletRequest request) throws IOException {
    InputStream in = null;//www .j a  va2  s .  c o m

    try {
        String filename = request.getFileNames().next();
        MultipartFile multipartFile = request.getFile(filename);
        String originalFilename = multipartFile.getOriginalFilename();

        String mimetype = multipartFile.getContentType();
        in = multipartFile.getInputStream();
        long length = multipartFile.getSize();

        UploadedImage image = new UploadedImage();
        image.setCourseId(courseId);
        image.setInstructor(instructor);
        image.setFilename(originalFilename);
        image.setMimeType(mimetype);

        imageRepo.uploadImage(image, in, length);

        String path = request.getContextPath() + "/images/" + image.getId();

        return generateResponse(CKEditorFuncNum, path, null);

    } catch (Exception e) {
        log.error("Error uploading image", e);
        return generateResponse(CKEditorFuncNum, null, "Fehler beim Upload");
    } finally {
        if (in != null)
            in.close();
    }
}

From source file:com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.java

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException {

    // unwrap multipart request
    try {// w  w  w . j av  a 2s  . com
        if (multipartResolver.isMultipart((HttpServletRequest) request) && request.getContentLength() > 0) {
            MultipartHttpServletRequest multipartHttpServletRequest = multipartResolver
                    .resolveMultipart((HttpServletRequest) request);
            request = new MultipartHttpServletRequestWrapper(multipartHttpServletRequest);

            // support for file resource and olap schema wizards
            {
                MultipartHttpServletRequest mreq = (MultipartHttpServletRequest) request;
                Iterator iterator = mreq.getFileNames();
                String fieldName = null;
                while (iterator.hasNext()) {
                    fieldName = (String) iterator.next();
                    // Assuming only 1 file is uploaded per page
                    // can be modified to handle multiple uploads per request
                }
                MultipartFile file = mreq.getFile(fieldName);
                if (file != null) {
                    String fullName = file.getOriginalFilename();
                    if (fullName != null && fullName.trim().length() != 0) {
                        int lastIndex = fullName.lastIndexOf(".");
                        if (lastIndex != -1) {
                            String fileName = fullName.substring(0, lastIndex);
                            String extension = fullName.substring(lastIndex + 1);
                            mreq.setAttribute(JasperServerConst.UPLOADED_FILE_NAME, fileName);
                            mreq.setAttribute(JasperServerConst.UPLOADED_FILE_EXT, extension);
                        } else {
                            mreq.setAttribute(JasperServerConst.UPLOADED_FILE_NAME, fullName);
                        }
                    }
                }
            }

        }
    } catch (MultipartException e) {
        log.error("Cannot resolve multipart data", e);
    }

    chain.doFilter(request, response);

}

From source file:io.github.microcks.web.ImportController.java

@RequestMapping(value = "/import", method = RequestMethod.POST)
public ResponseEntity<?> importRepository(@RequestParam(value = "file") MultipartFile file) {
    log.debug("Importing new services and resources definitions");
    if (!file.isEmpty()) {
        log.debug("Content type of " + file.getOriginalFilename() + " is " + file.getContentType());
        if (MediaType.APPLICATION_JSON_VALUE.equals(file.getContentType())) {
            try {
                byte[] bytes = file.getBytes();
                String json = new String(bytes);
                importExportService.importRepository(json);
            } catch (Exception e) {
                log.error(e.getMessage());
            }// w w w  .ja va 2  s .  c  o m
        }
    }
    return new ResponseEntity<Object>(HttpStatus.CREATED);
}

From source file:com.climate.oada.dao.impl.S3ResourceDAO.java

/**
 * Save file being uploaded to local./*  w  ww.j  ava2 s .c o  m*/
 *
 * @param file
 *            - MultipartFile
 * @return File - Saved file.
 * @throws Exception
 *             in case of upload errors.
 */
File saveLocal(MultipartFile file) throws Exception {
    String uploadFileName = file.getOriginalFilename();
    File localfile = new File(uploadFileName);
    LOG.debug("Saving uploaded multipart file " + uploadFileName + " to local, file name "
            + localfile.getAbsolutePath());
    file.transferTo(localfile);
    return localfile;
}

From source file:com.mmj.app.web.controller.upload.FileUploadController.java

@RequestMapping("/doUploads.htm")
public ModelAndView filesUpload(@RequestParam("files") MultipartFile... files) {
    Result result = null;// ww  w . java  2 s.c om
    if (files != null && files.length > 0) {
        for (int i = 0; i < files.length; i++) {
            MultipartFile file = files[i];
            result = fileService.createFilePath(file, file.getOriginalFilename());
        }
    }
    if (result == null || result.getData() == null) {
        return createFileJsonMav(ResultCode.ERROR, "", null);
    }
    return createFileJsonMav(ResultCode.SUCCESS, "?", result.getData().toString());
}

From source file:org.jasig.portlet.test.mvc.tests.FileUploadController.java

@ActionMapping("fileUploadAction")
public void simpleFileUpload(PortletSession portletSession, @RequestParam("file") MultipartFile f)
        throws IOException {
    final Map<String, ? extends Object> fileInfo = ImmutableMap.of("size", f.getSize(), "originalFilename",
            f.getOriginalFilename(), "name", f.getName(), "contentType", f.getContentType(), "byteCount",
            f.getBytes().length);//from  w w  w .ja  v  a2 s .c o m

    portletSession.setAttribute(UPLOADED_FILE_INFO, fileInfo);
}