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

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

Introduction

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

Prototype

@Override
InputStream getInputStream() throws IOException;

Source Link

Document

Return an InputStream to read the contents of the file from.

Usage

From source file:seava.j4e.web.controller.upload.FileUploadController.java

/**
 * Generic file upload. Expects an uploaded file and a handler alias to
 * delegate the uploaded file processing.
 * //from   ww w . j  a v  a 2 s  .co m
 * @param handler
 *            spring bean alias of the
 *            {@link seava.j4e.api.service.IFileUploadService} which should
 *            process the uploaded file
 * @param file
 *            Uploaded file
 * @param request
 * @param response
 * @return
 * @throws Exception
 */
@RequestMapping(value = "/{handler}", method = RequestMethod.POST)
@ResponseBody
public String fileUpload(@PathVariable("handler") String handler, @RequestParam("file") MultipartFile file,
        HttpServletRequest request, HttpServletResponse response) throws Exception {

    try {
        if (logger.isInfoEnabled()) {
            logger.info("Processing file upload request with-handler {} ", new Object[] { handler });
        }

        if (file.isEmpty()) {
            throw new BusinessException(ErrorCode.G_FILE_NOT_UPLOADED,
                    "Upload was not succesful. Try again please.");
        }

        this.prepareRequest(request, response);

        IFileUploadService srv = this.getFileUploadService(handler);
        Map<String, String> paramValues = new HashMap<String, String>();

        for (String p : srv.getParamNames()) {
            paramValues.put(p, request.getParameter(p));
        }

        IUploadedFileDescriptor fileDescriptor = new UploadedFileDescriptor();
        fileDescriptor.setContentType(file.getContentType());
        fileDescriptor.setOriginalName(file.getOriginalFilename());
        fileDescriptor.setNewName(file.getName());
        fileDescriptor.setSize(file.getSize());
        Map<String, Object> result = srv.execute(fileDescriptor, file.getInputStream(), paramValues);

        result.put("success", true);
        ObjectMapper mapper = getJsonMapper();
        return mapper.writeValueAsString(result);
    } catch (Exception e) {
        return this.handleManagedException(null, e, response);
    } finally {
        this.finishRequest();
    }

}

From source file:com.ssic.education.provider.controller.ProSupplierController.java

/**
 * ??/*from w ww. j  a va2s . c o m*/
 * 
 * @param file
 * @param request
 * @param response
 * @return
 * @author chenminghai
 * @throws IOException
 */
@RequestMapping("/supplierImport")
@ResponseBody
public Json supplierImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response)
        throws IOException {
    Json j = new Json();
    SessionInfo info = (SessionInfo) request.getSession().getAttribute(ConfigUtil.SESSIONINFONAME);
    // ???id
    String supplierId = info.getSupplierId();
    String errorMsg = null;
    Map<String, Map<ProSupplierReceiver, ProSupplier>> map = new HashMap();
    Set<String> set = new HashSet();
    try (Workbook wb = WorkbookFactory.create(file.getInputStream());) {
        Sheet sheet = wb.getSheetAt(0);
        Date now = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy.M.d");
        if (sheet == null) {
            return null;
        }
        for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
            if (errorMsg != null) {
                break;
            }
            Map<ProSupplierReceiver, ProSupplier> suppliers = new HashMap();
            ProSupplier supplier = null;
            ProSupplierReceiver psr = null;
            Row row = sheet.getRow(rowNum);
            int n = 0;
            for (int i = 0; i < row.getLastCellNum(); i++) {
                if (errorMsg != null) {
                    break;
                }
                Cell cell = row.getCell(i);
                String value = ParseExcelUtil.getStringCellValue(cell);
                if (value != null) {
                    value = value.trim();
                }
                if (i == 0) {
                    // ??
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "???????";
                        break;
                    }
                    ProSupplier s = supplierService.findProSupplierByName(value, supplierId);
                    if (s != null) {
                        errorMsg = "" + (rowNum + 1) + "??????";
                        break;
                    }
                    if (map.get(value) != null) {
                        errorMsg = "" + (rowNum + 1) + "????????";
                        break;
                    }
                    supplier = new ProSupplier();
                    supplier.setSupplierName(value);
                    supplier.setCreateTime(now);
                    supplier.setUpdater(info.getId());
                    supplier.setLastUpdateTime(now);
                    supplier.setStat(1);
                } else if (i == 1) {
                    // ???
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "??????";
                        break;
                    }
                    supplier.setAddress(value);
                    //               } else if (i == 2) {
                    //                  // ?
                    //                  if (StringUtils.isBlank(value)) {
                    //                     n += 1;
                    //                     break;
                    //                  }
                    //                  supplier.setFoodServiceCode(value);
                    //               } else if (i == 2) {
                    //                  if (StringUtils.isBlank(value)) {
                    //                     n += 1;
                    //                     break;
                    //                  }
                    //                  supplier.setFoodBusinessCode(value);
                } else if (i == 2) {
                    if (StringUtils.isBlank(value)) {
                        n += 1;
                        continue;
                    }
                    supplier.setFoodCirculationCode(value);
                } else if (i == 3) {
                    if (StringUtils.isBlank(value)) {
                        if (n == 1) {
                            errorMsg = "" + (rowNum + 1) + "???";
                        }
                        break;
                    }
                    supplier.setFoodProduceCode(value);
                    //               } else if (i == 6) {
                    //                  if (StringUtils.isBlank(value)) {
                    //                     if (n == 4) {
                    //                        errorMsg = "" + (rowNum + 1)
                    //                              + "?????";
                    //                     }
                    //                     break;
                    //                  }
                    //                  supplier.setBusinessLicense(value);
                    //               } else if (i == 7 && !StringUtils.isBlank(value)) {
                    //                  // ???
                    //                  int x = srService.findBySupplierCode(value, supplierId);
                    //                  if (x != 0) {
                    //                     errorMsg = "" + (rowNum + 1) + "?????";
                    //                     break;
                    //                  }
                    //                  if(value!=null&& !StringUtils.isBlank(value)){
                    //                     int s=set.size();
                    //                     set.add(value);
                    //                     if(s==set.size()){
                    //                        errorMsg = "" + (rowNum + 1) + "???????";
                    //                        break;
                    //                     }
                    //                  }
                    //                  psr = new ProSupplierReceiver();
                    //                  psr.setSupplierCode(value);
                } else if (i == 4) {
                    // ?
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "????";
                        break;
                    }
                    supplier.setCorporation(value);
                } else if (i == 5) {
                    // ??
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "????";
                        break;
                    }
                    supplier.setContactWay(value);
                }
            }
            if (supplier != null && errorMsg == null) {
                supplier.setId(UUID.randomUUID().toString());
                supplier.setSupplierType(0);
                supplier.setReviewed((byte) 1);
                if (psr == null) {
                    psr = new ProSupplierReceiver();
                }
                psr.setId(UUID.randomUUID().toString());
                psr.setSupplierId(supplier.getId());
                psr.setReceiverId(supplierId);
                psr.setCreateTime(new Date());
                psr.setLastUpdateTime(psr.getCreateTime());
                suppliers.put(psr, supplier);
                map.put(supplier.getSupplierName(), suppliers);
            }
        }
    } catch (EncryptedDocumentException | InvalidFormatException e) {
        errorMsg = "Excel??";
    }
    if (errorMsg != null) {
        j.setMsg(errorMsg);
        j.setSuccess(false);
    } else {
        int r = supplierService.importSupplier(map);
        j.setMsg("?" + r + "??");
        j.setSuccess(true);
    }
    return j;
}

From source file:com.ssic.education.provider.controller.WaresController.java

@RequestMapping(value = "/import")
@ResponseBody// ww  w  .j a va  2s  .co m
/**
 * ?excel
 * 
 * @param file
 * @param request
 * @param response
 * @return
 * @author zhangjiwei
 * @since 2016.5.21
 */
public Json importExcel(@RequestParam("filename") MultipartFile file, HttpServletRequest request,
        HttpServletResponse response) throws IOException {
    Json j = new Json();
    SessionInfo info = (SessionInfo) request.getSession().getAttribute(ConfigUtil.SESSIONINFONAME);
    // ?id
    String supplierId = info.getSupplierId();
    String errorMsg = null;
    // ?excellist
    List<ProWares> list = new ArrayList();
    Set<String> set = new HashSet();
    // ?excel
    try (Workbook wb = WorkbookFactory.create(file.getInputStream());) {
        Sheet sheet = wb.getSheetAt(0);
        if (sheet == null) {
            return null;
        }

        Date now = new Date();
        for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) {
            if (errorMsg != null) {
                break;
            }
            ProWares dto = new ProWares();
            Row row = sheet.getRow(rowNum);
            for (int i = 0; i < row.getLastCellNum(); i++) {
                if (errorMsg != null) {
                    break;
                }
                Cell cell = row.getCell(i);
                String value = ParseExcelUtil.getStringCellValue(cell);
                if (value != null) {
                    value = value.trim();
                }
                if (i == 0) {
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "?????";
                        break;
                    }
                    // ???
                    dto.setWaresName(value);
                } else if (i == 1) {
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "??????";
                        break;
                    }
                    // ?
                    dto.setAmountUnit(value);
                } else if (i == 2) {
                    // ?
                    dto.setSpec(value);
                } else if (i == 3) {
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "???";
                        break;
                    }
                    // ?
                    try {
                        dto.setWaresType(ProductClass.fromName(value));
                        if (dto.getWaresType() == null) {
                            errorMsg = "" + (rowNum + 1) + "???";
                            break;
                        }
                    } catch (Exception e) {
                        errorMsg = "" + (rowNum + 1) + "???";
                        break;
                    }
                } else if (i == 4) {
                    // ?
                    if (StringUtils.isBlank(value)) {
                        errorMsg = "" + (rowNum + 1) + "????";
                        break;
                    }
                    dto.setManufacturer(value);
                    // ???
                    ProWares pw = waresService.findProWarsByNameSpecManu(dto.getWaresName(),
                            dto.getAmountUnit(), dto.getManufacturer(), supplierId);
                    if (pw != null) {
                        errorMsg = "" + (rowNum + 1) + "???";
                        break;
                    }
                    String mark = dto.getWaresName() + "," + dto.getAmountUnit() + "," + dto.getManufacturer();
                    int m = set.size();
                    set.add(mark);
                    if (m == set.size()) {
                        errorMsg = "" + (rowNum + 1) + "?????";
                        break;
                    }
                    //               } else if (i == 4 && StringUtils.isNotBlank(value)) {
                    //                  // ??
                    //                  dto.setEnName(value);
                    //               } else if (i == 5 && StringUtils.isNotBlank(value)) {
                    //                  // ???
                    //                  dto.setBarCode(value);
                    //               } else if (i == 6 && StringUtils.isNotBlank(value)) {
                    //                  // ??
                    //                  dto.setCustomCode(value);
                } else if (i == 5 && StringUtils.isNotBlank(value)) {
                    // ?
                    try {
                        dto.setShelfLife(Integer.parseInt(value));
                    } catch (Exception e) {
                        errorMsg = "" + (rowNum + 1) + "?????";
                        break;
                    }
                } else if (i == 6) {
                    // ???
                    if (dto.getShelfLife() != null) {
                        if (StringUtils.isBlank(value)) {
                            errorMsg = "" + (rowNum + 1) + "????";
                            break;
                        }
                        dto.setUnit(value);
                    } else {
                        if (StringUtils.isNotBlank(value)) {
                            dto.setShelfLife(0);
                            dto.setUnit(value);
                        }
                    }
                } else if (i == 7 && StringUtils.isNotBlank(value)) {
                    // 
                    dto.setPlace(value);
                }
            }
            if (errorMsg != null) {
                break;
            }
            dto.setSupplierId(supplierId);
            dto.setWay(0);
            dto.setDishes(false);
            dto.setCreator(info.getId());
            dto.setCreateTime(now);
            dto.setUpdater(info.getId());
            dto.setLastUpdateTime(now);
            dto.setStat(1);
            list.add(dto);
        }
    } catch (EncryptedDocumentException | InvalidFormatException e) {
        errorMsg = "Excel??";
    }

    if (errorMsg != null) {
        // TODO ???
        j.setMsg(errorMsg);
        j.setSuccess(false);
        return j;
    } else {
        // ?
        waresService.addProWares(list);
        j.setMsg("??");
        j.setSuccess(true);
        return j;
    }

}

From source file:com.zhenhappy.ems.action.user.VisaAction.java

@RequestMapping(value = "/visa/saveVisa", method = RequestMethod.POST)
public ModelAndView saveVisa(@ModelAttribute(Principle.PRINCIPLE_SESSION_ATTRIBUTE) Principle principle,
        @ModelAttribute SaveVisaInfoRequest visa,
        @RequestParam(value = "license", required = false) MultipartFile license,
        @RequestParam(value = "passportPageFile", required = false) MultipartFile passportPage) {
    ModelAndView modelAndView = new ModelAndView("/user/callback");
    try {//  w  w  w.j a  v a2  s .c o  m
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        if (StringUtils.isNotEmpty(visa.getBirthDay())) {
            visa.setBirth(sdf.parse(visa.getBirthDay()));
        }
        if (StringUtils.isNotEmpty(visa.getFromDate())) {
            visa.setFrom(sdf.parse(visa.getFromDate()));
        }
        if (StringUtils.isNotEmpty(visa.getToDate())) {
            visa.setTo(sdf.parse(visa.getToDate()));
        }
        if (StringUtils.isNotEmpty(visa.getExpireDate())) {
            visa.setExpDate(sdf.parse(visa.getExpireDate()));
        }
        if (license != null) {
            String fileName = systemConfig.getVal(Constants.appendix_directory) + "/" + new Date().getTime()
                    + "." + FilenameUtils.getExtension(license.getOriginalFilename());
            if (license != null && license.getSize() != 0) {
                FileUtils.copyInputStreamToFile(license.getInputStream(), new File(fileName));
                visa.setBusinessLicense(fileName);
            }
        }

        if (passportPage != null) {
            String fileName = systemConfig.getVal(Constants.appendix_directory) + "/" + new Date().getTime()
                    + "." + FilenameUtils.getExtension(passportPage.getOriginalFilename());
            if (passportPage != null && passportPage.getSize() != 0) {
                FileUtils.copyInputStreamToFile(passportPage.getInputStream(), new File(fileName));
                visa.setPassportPage(fileName);
            }
        }
        visa.setEid(principle.getExhibitor().getEid());
        TVisa temp = new TVisa();
        BeanUtils.copyProperties(visa, temp);
        visaService.saveOrUpdate(temp);
        modelAndView.addObject("method", "addSuccess");
    } catch (Exception e) {
        log.error("add visa error", e);
        modelAndView.addObject("method", "addFailure");
    }
    return modelAndView;
}

From source file:com.xx.backend.controller.EmployeeController.java

@RequestMapping("/form_upload.json")
public @ResponseBody String fileUpload(@RequestParam(value = "file") MultipartFile file,
        HttpServletRequest request) {/*from   w w w.  j  av  a2s .c o m*/
    //?? @RequestParam(value = "file")jspid??  
    //jspid=filefile??@RequestParam(value = "filefile")  
    Map<String, Object> map = new HashMap<String, Object>();
    //         if (file.isEmpty()) {  
    //                  map.put("message", "?");  
    //             return map;  
    //               }  
    //                    if (!isTrue) {  
    //             map.put("message", "?");  
    //           return map;  
    //              }  
    //                    if (file.getSize()>file_size) {  
    //                        map.put("message", "??2M");  
    //                       return map;  
    //                       }  
    String pathsrv = request.getSession().getServletContext().getRealPath("upload");
    String fileName = file.getOriginalFilename();
    String path = pathsrv + "/" + fileName;
    try {
        FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path));
        map.put("message", "Y");// ?  
    } catch (IOException e) {
        map.put("message", "N");//   
    }
    path = path.replace("\\", "/");
    map.put("fileName", path);
    return JSONObject.toJSONString(map);
}

From source file:com.ephesoft.dcma.webservice.service.EphesoftWebService.java

/**
 * Sign up method./*from w  w w.j a  v a2  s .  c o  m*/
 * @param request {@link HttpServletRequest}
 * @param response {@link HttpServletResponse}
 */
@RequestMapping(value = "/signUp", method = RequestMethod.POST)
@ResponseBody
public void signUp(final HttpServletRequest request, final HttpServletResponse response) {
    LOGGER.info("Start processing sign up process");
    String workingDir = WebServiceUtil.EMPTY_STRING;
    InputStream instream = null;
    if (request instanceof DefaultMultipartHttpServletRequest) {
        UserInformation userInformation = null;
        User user = null;
        String receiverName = null;
        try {
            final String webServiceFolderPath = batchSchemaService.getWebServicesFolderPath();
            workingDir = WebServiceUtil.createWebServiceWorkingDir(webServiceFolderPath);
            LOGGER.info("workingDir:" + workingDir);
            final String outputDir = WebServiceUtil.createWebServiceOutputDir(workingDir);
            LOGGER.info("outputDir:" + outputDir);
            final DefaultMultipartHttpServletRequest multipartRequest = (DefaultMultipartHttpServletRequest) request;
            final String batchClassId = request.getParameter("batchClassId");
            final String batchClassPriority = request.getParameter("batchClassPriority");
            final String batchClassDescription = request.getParameter("batchClassDescription");
            String batchClassName = request.getParameter("batchClassName");
            batchClassName = getUniqueBatchClassName(batchClassName);
            final String batchInstanceLimit = request.getParameter("batchInstanceLimit");
            final String noOfDays = request.getParameter("noOfDays");
            final String pageCount = request.getParameter("pageCount");
            String uncFolder = "unc" + ICommonConstants.HYPHEN + batchClassName;
            LOGGER.info("Batch Class ID value is: " + batchClassId);
            LOGGER.info("Batch Class Priority value is: " + batchClassPriority);
            LOGGER.info("Batch Class Description value is: " + batchClassDescription);
            LOGGER.info("Batch Class Name value is: " + batchClassName);
            LOGGER.info("UNC Folder value is: " + uncFolder);
            final MultiValueMap<String, MultipartFile> fileMap = multipartRequest.getMultiFileMap();
            for (final String fileName : fileMap.keySet()) {
                if (fileName.toLowerCase(Locale.getDefault())
                        .indexOf(FileType.XML.getExtension().toLowerCase()) > -WebserviceConstants.ONE) {
                    final MultipartFile multipartFile = multipartRequest.getFile(fileName);
                    instream = multipartFile.getInputStream();
                    final Source source = XMLUtil.createSourceFromStream(instream);
                    userInformation = (UserInformation) batchSchemaDao.getJAXB2Template().getJaxb2Marshaller()
                            .unmarshal(source);
                    user = createUserObjectFromUserInformation(userInformation);
                    break;
                }
            }
            if (userInformation != null && user != null) {
                LOGGER.info("Recevier name created: " + receiverName);
                userConnectivityService.addUser(userInformation);
                LOGGER.info("Successfully added user for email id: " + userInformation.getEmail());
                userConnectivityService.addGroup(userInformation);
                LOGGER.info("Successfully added group for email id: " + userInformation.getEmail());
                BatchClass batchClass = batchClassService.copyBatchClass(
                        batchClassId, batchClassName, batchClassDescription, userInformation.getCompanyName()
                                + ICommonConstants.UNDERSCORE + userInformation.getEmail(),
                        batchClassPriority, uncFolder, true);
                LOGGER.info("Adding user information into database");
                user.setBatchClass(batchClass);
                userService.createUser(user);
                LOGGER.info("Successfully added user information into database");
                BatchClassCloudConfig batchClassCloudConfig = createBatchClassCloudConfig(batchInstanceLimit,
                        noOfDays, pageCount, batchClass);
                batchClassCloudConfigService.createBatchClassCloudConfig(batchClassCloudConfig);
                LOGGER.info("Successfully copied batch class for batch class: " + batchClassId);
                deploymentService.createAndDeployBatchClassJpdl(batchClass);
                LOGGER.info("Batch Class deployed successfully");
                wizardMailService.sendConfirmationMail(userInformation, false, null);
                LOGGER.info("User login information sent for email id: " + userInformation.getEmail());
            } else {
                LOGGER.error(
                        "user Information file is invalid. Unable create the User Information Object from XML.");
            }
        } catch (WizardMailException wizardMailException) {
            try {
                response.sendError(HttpServletResponse.SC_CREATED);
            } catch (IOException e) {
                LOGGER.error(ERROR_IN_SENDING_STATUS_USING_WEB_SERVICE);
            }
        } catch (Exception e) {
            LOGGER.error("Exception occurs while sign up process: " + e.getMessage(), e);
            if (userInformation != null && user != null) {
                LOGGER.info("Deleting created user/groups while signup for : " + userInformation.getEmail());
                userConnectivityService.deleteUser(userInformation.getEmail());
                userConnectivityService.deleteGroup(userInformation.getCompanyName()
                        + ICommonConstants.UNDERSCORE + userInformation.getEmail());
                userService.deleteUser(user);
                LOGGER.info(
                        "Successfully deleted user/groups while signup for : " + userInformation.getEmail());
                LOGGER.info("Sending error mail");
                try {
                    wizardMailService.sendConfirmationMail(userInformation, true,
                            ExceptionUtils.getStackTrace(e));
                    LOGGER.info("Error mail sent succesfully");
                } catch (WizardMailException e1) {
                    LOGGER.error("Error in sending error mail to client");
                }
            }
            try {
                response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            } catch (IOException e1) {
                LOGGER.error(ERROR_IN_SENDING_STATUS_USING_WEB_SERVICE);
            }

        }
    }
}

From source file:aiai.ai.launchpad.server.ServerController.java

private UploadResult uploadResource(MultipartFile file, Long taskId) {
    String originFilename = file.getOriginalFilename();
    if (originFilename == null) {
        return new UploadResult(false, "#442.01 name of uploaded file is null");
    }//w  w w.jav  a2s  .  c o  m
    if (taskId == null) {
        return new UploadResult(false, "#442.87 taskId is null");
    }
    Task task = taskRepository.findById(taskId).orElse(null);
    if (task == null) {
        return new UploadResult(false, "#442.83 taskId is null");
    }

    final TaskParamYaml taskParamYaml = taskParamYamlUtils.toTaskYaml(task.getParams());

    try {
        File tempDir = DirUtils.createTempDir("upload-resource-");
        if (tempDir == null || tempDir.isFile()) {
            final String location = System.getProperty("java.io.tmpdir");
            return new UploadResult(false, "#442.04 can't create temporary directory in " + location);
        }
        final File resFile = new File(tempDir, "resource.");
        log.debug("Start storing an uploaded resource data to disk");
        try (OutputStream os = new FileOutputStream(resFile)) {
            IOUtils.copy(file.getInputStream(), os, 64000);
        }
        try (InputStream is = new FileInputStream(resFile)) {
            binaryDataService.save(is, resFile.length(), Enums.BinaryDataType.DATA,
                    taskParamYaml.outputResourceCode, taskParamYaml.outputResourceCode, false, null);
        }
    } catch (Throwable th) {
        log.error("Error", th);
        return new UploadResult(false, "#442.05 can't load snippets, Error: " + th.toString());
    }
    task.resultReceived = true;
    taskRepository.save(task);
    return OK_UPLOAD_RESULT;
}

From source file:it.smartcommunitylab.climb.domain.controller.ChildController.java

@RequestMapping(value = "/api/child/image/upload/png/{ownerId}/{objectId}", method = RequestMethod.POST)
public @ResponseBody String uploadImage(@RequestParam("file") MultipartFile file, @PathVariable String ownerId,
        @PathVariable String objectId, HttpServletRequest request) throws Exception {
    Criteria criteria = Criteria.where("objectId").is(objectId);
    Child child = storage.findOneData(Child.class, criteria, ownerId);
    if (child == null) {
        throw new EntityNotFoundException("child not found");
    }//from   w w  w.  ja  v a 2  s .co  m
    if (!validateAuthorization(ownerId, child.getInstituteId(), child.getSchoolId(), null, null,
            Const.AUTH_RES_Image, Const.AUTH_ACTION_ADD, request)) {
        throw new UnauthorizedException("Unauthorized Exception: token not valid");
    }
    String name = objectId + ".png";
    if (logger.isInfoEnabled()) {
        logger.info("uploadImage:" + name);
    }
    if (!file.isEmpty()) {
        BufferedOutputStream stream = new BufferedOutputStream(
                new FileOutputStream(new File(imageUploadDir + "/" + name)));
        FileCopyUtils.copy(file.getInputStream(), stream);
        stream.close();
    }
    return "{\"status\":\"OK\"}";
}

From source file:com.baidu.upload.controller.ImageController.java

@RequestMapping(value = "/upload", method = RequestMethod.POST)
public @ResponseBody Map<String, Object> upload(MultipartHttpServletRequest request,
        HttpServletResponse response, Integer reqid) {
    log.debug("uploadPost called");
    System.out.println("id" + reqid);
    //????/*from w w  w.ja  va2s. c  o m*/
    Iterator<String> itr = request.getFileNames();
    MultipartFile mpf;
    List<Image> list = new LinkedList<Image>();

    InputStream is = null;
    List<File> newfiles = new ArrayList<File>();
    while (itr.hasNext()) {
        mpf = request.getFile(itr.next());
        //?uuid??
        String newFilenameBase = UUID.randomUUID().toString();
        //????
        String originalFileExtension = mpf.getOriginalFilename()
                .substring(mpf.getOriginalFilename().lastIndexOf("."));
        //???
        String newFilename = newFilenameBase + originalFileExtension;
        //?
        //String storageDirectory = request.getSession().getServletContext().getRealPath("/")+"pic";
        //fileUploadDirectory = storageDirectory;
        String storageDirectory = fileUploadDirectory;
        String contentType = mpf.getContentType();
        //
        File newFile = new File(storageDirectory + "/" + newFilename);
        try {
            //??       
            is = mpf.getInputStream();
            byte[] bytes = FileCopyUtils.copyToByteArray(is);
            //
            mpf.transferTo(newFile);
            //
            BufferedImage thumbnail = Scalr.resize(ImageIO.read(newFile), 290);
            //??uuid-thumbnail.png
            String thumbnailFilename = newFilenameBase + "-thumbnail.png";
            //
            File thumbnailFile = new File(storageDirectory + "/" + thumbnailFilename);
            ImageIO.write(thumbnail, "png", thumbnailFile);
            //image
            Image image = new Image();
            //?blob
            image.setImgblob(bytes);
            //image.setName(mpf.getOriginalFilename());
            image.setName(newFilename);
            image.setThumbnailFilename(thumbnailFilename);
            image.setNewFilename(newFilename);
            image.setContentType(contentType);
            image.setSize(mpf.getSize());
            image.setThumbnailSize(thumbnailFile.length());
            //?id
            int id = this.imageService.findId();
            image.setId(id);
            //url
            image.setUrl("../img/picture/" + image.getId() + ".do");
            image.setThumbnailUrl("../img/thumbnail/" + image.getId() + ".do");
            image.setDeleteUrl("../img/delete/" + image.getId() + ".do");
            image.setDeleteType("DELETE");
            //?
            image.setReqid(reqid);
            image = imageService.create(image);

            newfiles.add(newFile);
            //??
            list.add(image);

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

    }

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

From source file:com.iana.dver.controller.DverAdminController.java

@RequestMapping(value = "/admin/bulkChangeOwnerXLS", method = RequestMethod.POST)
public @ResponseBody String performBulkChangeOwnerWithXLS(MultipartHttpServletRequest request,
        HttpServletResponse response) {// w  ww. j a v a2 s  .c  om
    Iterator<String> itr = request.getFileNames();
    if (!itr.hasNext()) {
        return "Please provide XLS file to process.";
    }
    MultipartFile bulkFile = request.getFile(itr.next());
    logger.info(bulkFile.getOriginalFilename() + " uploaded!");
    try {
        String extension = FilenameUtils.getExtension(bulkFile.getOriginalFilename());
        if (extension.equalsIgnoreCase("xls")) {
            if (bulkFile.getSize() == 0) {
                return "Uploaded file should not be empty.";
            }

            if (bulkFile.getSize() > 2097152) {
                return "Uploaded file should not exceed 2 MB";
            }
            Map<Integer, String[]> dversToBeProcessed = this.dverDetailsService
                    .findDversForBulkProcessing(bulkFile.getInputStream());

            if (dversToBeProcessed.isEmpty()) {
                return "No DVER's found for 'Change Owner Bulk Processing'.";
            } else {
                int successCount = 0;
                int failCount = 0;
                StringBuilder failDverDetails = new StringBuilder(
                        "DVER Bulk Change Owner XLS processed successfully. <br/>");
                failDverDetails.append(
                        "Following is the list of DVER's which were not processed successfully for Bulk Change Owner: <br/>");

                for (Integer dverDetailId : dversToBeProcessed.keySet()) {
                    String[] dots = dversToBeProcessed.get(dverDetailId);

                    RejectedDverVO rejectedDverVO = new RejectedDverVO();

                    rejectedDverVO.setDverDetailId(dverDetailId);

                    rejectedDverVO.setIepdot(dots[0] != null ? dots[0] : "");
                    rejectedDverVO.setMcdot(dots[1] != null ? dots[1] : "");

                    rejectedDverVO.setIepUserId(0);
                    rejectedDverVO.setMcUserId(0);

                    StringBuilder errors = new StringBuilder();
                    validateDOTFields(rejectedDverVO, errors);
                    if (errors.length() == 0) {
                        this.dverDetailsService.moveRejectedDverToFound(rejectedDverVO, dverDetailId);
                        successCount++;
                    } else {
                        failCount++;
                        failDverDetails.append("(" + failCount + ") &nbsp;");
                        failDverDetails.append("DverDetailId : " + dverDetailId + " <br/>");
                        failDverDetails.append("MC DOT: " + rejectedDverVO.getMcdot() + " <br/>");
                        failDverDetails.append("IEP DOT: " + rejectedDverVO.getMcdot() + " <br/>");
                        failDverDetails.append("Reason for failure: " + errors.toString() + " <br/>");
                    }
                }

                if (failCount > 0) {
                    logger.info("Fail DVER Notice :" + failDverDetails.toString());
                    DVERUtil.sendBulkUpdateFailureNotice(failDverDetails.toString());
                }

                return "Change Owner for " + successCount
                        + " DVER's completed successfully. Failed to complete " + failCount
                        + " DVER's due to wrong provided values of IEP/MC DOTs";
            }
        } else {
            return "The uploaded file type is not allowed.";
        }
    } catch (Exception e) {
        DVERUtil.sendExceptionEmails("upload method of DverAdminController \n " + e);
        logger.error("Error in submitEditCompanyForAdmin()....." + e);
        return "The uploaded file could not be processed!!";
    }
}