图片上传实例

jsp:

    <form action="/image/save.jhtml" method="post" enctype="multipart/form-data" style="width: 500px">
        <input type="hidden" name="focusId" value="${image.focusId}"/>
        <input type="hidden" name="type" value="${image.type}"/>
        <input type="file" name="imageFile"/>
        <input type="submit" value="上传"/>图片大小不能超过1M
    </form>

 java:

    @RequestMapping("/image/save.jhtml")
    public ModelAndView save(@RequestParam(value = "imageFile", required = false)
                             MultipartFile imageFile, HttpServletRequest request, ModelMap model, Image image) {
        HttpSession session = request.getSession(false);
        User logUser = (User) session.getAttribute(GoutripUtils.USER_CONTEXT);
        if (null == logUser)
            return new ModelAndView("redirect:/views/public/index.jsp");
        String name = logUser.getName();
        image.setUpdator(name);
        image.setCreator(name);
        image.setStatus(1);
        String fileName = imageFile.getOriginalFilename();
        String lastName = fileName.substring(fileName.lastIndexOf('.'));
        if (lastName.length() > 5)
            lastName = ".jpg";
        final File targetFile = PathUtil.getRandImgFile(lastName);
        final String filePath = targetFile.getPath();
        if (!targetFile.exists())
            targetFile.mkdirs();
        try {
            imageFile.transferTo(targetFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
        final String finalLastName = lastName;
        new Thread(new Runnable() {
            @Override
            public void run() {
                String picTo = null;
                picTo = filePath.substring(filePath.lastIndexOf(".")) + "_1000x500" + finalLastName;
                ImageUtils.resize(filePath, picTo, 500, 1000, true);
            }
        }).start();
        String path = PathUtil.getRandImgFileUrl(targetFile);
        if (path.equals("/"))
            path = PathUtil.getImgFileUrl(targetFile.getPath());
        System.out.println(path);
        image.setUrl(path);
        imageService.save(image);
        if (null == model)
            model = new ModelMap();
        model.clear();
        model.put("focusId", image.getFocusId());
        model.put("type", image.getType());
        return new ModelAndView("redirect:/image/manager.jhtml").addAllObjects(model);
    }

 

posted @ 2014-09-17 11:43  逍遥_时空  阅读(253)  评论(0编辑  收藏  举报