List of usage examples for org.springframework.web.multipart MultipartFile getSize
long getSize();
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(); } }