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

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

Introduction

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

Prototype

long getSize();

Source Link

Document

Return the size of the file in bytes.

Usage

From source file:wad.controller.ReceiptController.java

@RequestMapping(method = RequestMethod.POST)
public String addReceipt(@RequestParam("file") MultipartFile file, @PathVariable Long expenseId,
        @ModelAttribute Receipt receipt, BindingResult bindingResult, @ModelAttribute Expense expense,
        SessionStatus status, RedirectAttributes redirectAttrs) throws IOException {

    if (expense == null || !expense.isEditableBy(userService.getCurrentUser())) {
        throw new ResourceNotFoundException();
    }/*from w ww.  java 2 s.co  m*/

    receipt.setName(file.getName());
    receipt.setMediaType(file.getContentType());
    receipt.setSize(file.getSize());
    receipt.setContent(file.getBytes());
    receipt.setSubmitted(new Date());
    receipt.setExpense(expense);

    receiptValidator.validate(receipt, bindingResult);

    if (bindingResult.hasErrors()) {
        redirectAttrs.addFlashAttribute("errors", bindingResult.getAllErrors());
        return "redirect:/expenses/" + expense.getId();
    }

    receiptRepository.save(receipt);

    status.setComplete();

    return "redirect:/expenses/" + expense.getId();
}

From source file:cdr.forms.DepositFileEditor.java

public void setValue(Object value) {
    if (value instanceof MultipartFile) {
        MultipartFile multipartFile = (MultipartFile) value;

        if (multipartFile.getOriginalFilename().length() == 0) {
            super.setValue(null);
            return;
        }/* w  w w.ja  v a2s. c  o  m*/

        try {
            File temp = File.createTempFile("temp", ".tmp");
            multipartFile.transferTo(temp);

            DepositFile depositFile = new DepositFile();
            depositFile.setFile(temp);
            depositFile.setFilename(multipartFile.getOriginalFilename());
            depositFile.setContentType(multipartFile.getContentType());
            depositFile.setSize(multipartFile.getSize());

            super.setValue(depositFile);
        } catch (IOException e) {
            throw new IllegalArgumentException(e);
        }
    } else if (value instanceof DepositFile) {
        super.setValue(value);
    } else {
        super.setValue(null);
    }
}

From source file:eionet.transfer.dao.UploadsServiceDBFiles.java

public void storeFile(MultipartFile myFile, String uuidName, int fileTTL) throws IOException {
    storageService.save(myFile, uuidName);
    System.out.println("After storage save");
    long now = System.currentTimeMillis();
    Date expirationDate = new Date(now + fileTTL * 3600L * 24L * 1000L);

    Upload rec = new Upload();
    rec.setId(uuidName);// w  w w.j av a  2s. co m
    rec.setFilename(Filenames.removePath(myFile.getOriginalFilename()));
    rec.setContentType(myFile.getContentType());
    rec.setExpires(expirationDate);
    rec.setSize(myFile.getSize());
    String userName = getUserName();
    rec.setUploader(userName);
    System.out.println("Before metadata save");
    metadataService.save(rec);
    System.out.println("After metadata save");
    logger.info("Uploaded: " + myFile.getOriginalFilename() + " by " + userName);
}

From source file:me.doshou.admin.maintain.editor.web.controller.OnlineEditorController.java

@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody/*  www .  j  a v  a2  s  .co  m*/
public AjaxUploadResponse upload(HttpServletRequest request, HttpServletResponse response,
        @RequestParam("parentPath") String parentPath, @RequestParam("conflict") String conflict,
        @RequestParam(value = "files[]", required = false) MultipartFile[] files)
        throws UnsupportedEncodingException {

    String rootPath = sc.getRealPath(ROOT_DIR);
    parentPath = URLDecoder.decode(parentPath, Constants.ENCODING);
    File parent = new File(rootPath + File.separator + parentPath);

    //The file upload plugin makes use of an Iframe Transport module for browsers like Microsoft Internet Explorer and Opera, which do not yet support XMLHTTPRequest file uploads.
    response.setContentType("text/plain");

    AjaxUploadResponse ajaxUploadResponse = new AjaxUploadResponse();

    if (ArrayUtils.isEmpty(files)) {
        return ajaxUploadResponse;
    }

    for (MultipartFile file : files) {
        String filename = file.getOriginalFilename();
        long size = file.getSize();
        try {
            File current = new File(parent, filename);
            if (current.exists() && "ignore".equals(conflict)) {
                ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.conflict.error"));
                continue;
            }
            String url = FileUploadUtils.upload(request, parentPath, file, ALLOWED_EXTENSION, MAX_SIZE, false);
            String deleteURL = viewName("/delete") + "?paths=" + URLEncoder.encode(url, Constants.ENCODING);

            ajaxUploadResponse.add(filename, size, url, deleteURL);

            continue;
        } catch (IOException e) {
            LogUtils.logError("file upload error", e);
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.server.error"));
            continue;
        } catch (InvalidExtensionException e) {
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.not.allow.extension"));
            continue;
        } catch (FileUploadBase.FileSizeLimitExceededException e) {
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.exceed.maxSize"));
            continue;
        } catch (FileNameLengthLimitExceededException e) {
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.filename.exceed.length"));
            continue;
        }
    }
    return ajaxUploadResponse;
}

From source file:com.artivisi.belajar.restful.ui.controller.ApplicationConfigController.java

@RequestMapping("/config/{id}/files")
@ResponseBody/*  w ww. java 2 s  .  co m*/
public Map<String, String> uploadFiles(@PathVariable String id, @RequestParam String keterangan,
        @RequestParam MultipartFile cv, @RequestParam MultipartFile foto) throws Exception {
    ApplicationConfig config = belajarRestfulService.findApplicationConfigById(id);
    if (config == null) {
        throw new IllegalStateException();
    }

    Map<String, String> result = new HashMap<String, String>();

    logger.info("CV => Content-Type : {}, Filename : {}, Size : {}",
            new Object[] { cv.getContentType(), cv.getOriginalFilename(), cv.getSize() });

    logger.info("Foto => Content-Type : {}, Filename : {}, Size : {}",
            new Object[] { foto.getContentType(), foto.getOriginalFilename(), foto.getSize() });

    File cvTarget = File.createTempFile(cv.getOriginalFilename().split(ESC_CHAR_TITIK)[0],
            "." + cv.getOriginalFilename().split(ESC_CHAR_TITIK)[1]);
    File fotoTarget = File.createTempFile(foto.getOriginalFilename().split(ESC_CHAR_TITIK)[0],
            "." + foto.getOriginalFilename().split(ESC_CHAR_TITIK)[1]);
    cv.transferTo(cvTarget);
    foto.transferTo(fotoTarget);

    logger.info("CV disimpan ke {}", cvTarget.getAbsolutePath());
    logger.info("Foto disimpan ke {}", fotoTarget.getAbsolutePath());

    if (cv.getSize() == UKURAN_FILE_CV) {
        result.put("cv", "success");
    } else {
        result.put("cv", "error size");
    }

    if (foto.getSize() == UKURAN_FILE_FOTO) {
        result.put("foto", "success");
    } else {
        result.put("foto", "error size");
    }

    if ("File Endy".equals(keterangan)) {
        result.put("keterangan", "success");
    } else {
        result.put("keterangan", "salah content");
    }

    return result;
}

From source file:org.jasig.portlet.cms.controller.EditPostController.java

private void processPostAttachments(final ActionRequest request, final Post post) throws Exception {
    if (FileUploadBase.isMultipartContent(new PortletRequestContext(request))) {

        /*//  w  ww.j  a  v a2 s  .  c o m
         * Attachments may have been removed in the edit mode. We must
         * refresh the session-bound post before updating attachments.
         */
        final PortletPreferencesWrapper pref = new PortletPreferencesWrapper(request);
        final Post originalPost = getRepositoryDao().getPost(pref.getPortletRepositoryRoot());

        if (originalPost != null) {
            post.getAttachments().clear();
            post.getAttachments().addAll(originalPost.getAttachments());
        }

        final MultipartActionRequest multipartRequest = (MultipartActionRequest) request;

        for (int index = 0; index < multipartRequest.getFileMap().size(); index++) {
            final MultipartFile file = multipartRequest.getFile("attachment" + index);

            if (!file.isEmpty()) {

                logDebug("Uploading attachment file: " + file.getOriginalFilename());
                logDebug("Attachment file size: " + file.getSize());

                final Calendar cldr = Calendar.getInstance(request.getLocale());
                cldr.setTime(new Date());
                final Attachment attachment = Attachment.fromFile(file.getOriginalFilename(),
                        file.getContentType(), cldr, file.getBytes());

                final String title = multipartRequest.getParameter("attachmentTitle" + index);
                attachment.setTitle(title);
                post.getAttachments().add(attachment);
            }

        }
    }
}

From source file:com.luna.maintain.editor.web.controller.OnlineEditorController.java

@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody//from  w  w w .java2s  .c o  m
public AjaxUploadResponse upload(HttpServletRequest request, HttpServletResponse response,
        @RequestParam("parentPath") String parentPath, @RequestParam("conflict") String conflict,
        @RequestParam(value = "files[]", required = false) MultipartFile[] files)
        throws UnsupportedEncodingException {

    String rootPath = sc.getRealPath(ROOT_DIR);
    parentPath = URLDecoder.decode(parentPath, Constants.ENCODING);
    File parent = new File(rootPath + File.separator + parentPath);

    //The file upload plugin makes use of an Iframe Transport module for browsers like Microsoft Internet Explorer and Opera, which do not yet support XMLHTTPRequest file uploads.
    response.setContentType("text/plain");

    AjaxUploadResponse ajaxUploadResponse = new AjaxUploadResponse();

    if (ArrayUtils.isEmpty(files)) {
        return ajaxUploadResponse;
    }

    for (MultipartFile file : files) {
        String filename = file.getOriginalFilename();
        long size = file.getSize();
        try {
            File current = new File(parent, filename);
            if (current.exists() && "ignore".equals(conflict)) {
                ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.conflict.error"));
                continue;
            }
            String url = FileUploadUtils.upload(request, parentPath, file, ALLOWED_EXTENSION, MAX_SIZE, false);
            String deleteURL = viewName("/delete") + "?paths=" + URLEncoder.encode(url, Constants.ENCODING);

            ajaxUploadResponse.add(filename, size, url, deleteURL);

            continue;
        } catch (IOException e) {
            log.error("file upload error", e);
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.server.error"));
            continue;
        } catch (InvalidExtensionException e) {
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.not.allow.extension"));
            continue;
        } catch (FileUploadBase.FileSizeLimitExceededException e) {
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.exceed.maxSize"));
            continue;
        } catch (FileNameLengthLimitExceededException e) {
            ajaxUploadResponse.add(filename, size, MessageUtils.message("upload.filename.exceed.length"));
            continue;
        }
    }
    return ajaxUploadResponse;
}

From source file:com.mobileman.projecth.web.controller.patient.OnlineFragebogenController.java

@RequestMapping(method = RequestMethod.POST, value = "/patient/online_fragebogen_enter_data/fileupload")
public String onlineFragebogenEnterData1(HttpServletRequest request, Model model,
        @RequestParam("file") MultipartFile file) {
    // save into session
    OnlineFragebogenData data = new OnlineFragebogenData(request.getSession());
    data.storeData(request);//w ww . j  ava2s.  co  m

    //store image if any
    if (file != null && file.getSize() > 0) {
        //save to temporary file
        try {
            File tmp = File.createTempFile("projecth", "imgupload");
            String ct = file.getContentType();
            //remember in the session file name
            file.transferTo(tmp);
            request.getSession().setAttribute(FILE_KEY, tmp.getCanonicalPath());
            request.getSession().setAttribute(FILE_KEY_CONTENT_TYPE, ct);
        } catch (IOException e) {
            e.printStackTrace();
        }

    }
    // prepare data for rendering
    prepareDiseaseData(data, new DataHolder(request), model);
    return "patient/online_fragebogen_confirm_data";
}

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
 * **************************************************
 *//*  w w w.jav a 2 s .  c  om*/
@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.vmware.appfactory.datastore.DsDatastoreCifs.java

@Override
public void copy(MultipartFile source, String destination, ProgressListener pl) throws IOException {
    /* Create destination file */
    File destFile = new File(destination);

    /* Open input and output, for copying */
    InputStream is = source.getInputStream();
    OutputStream os = new FileOutputStream(destFile);

    try {/*w w  w.j  av  a 2s .  co m*/
        /* We could use IOUtils.copy(), but this approach gives us progress: */
        long total = source.getSize();
        long soFar = 0;

        /* Transfer using a buffer */
        byte[] buffer = new byte[COPY_BUFFER_SIZE];
        int numRead;
        while ((numRead = is.read(buffer, 0, COPY_BUFFER_SIZE)) != -1) {
            os.write(buffer, 0, numRead);
            soFar += numRead;
            if (pl != null) {
                pl.update(soFar, total, 1);
            }
        }

        os.flush();
    } finally {
        os.close();
        is.close();
    }
}