关于ajax图片上传,上传是后台代码来完成的,利用ajaxSubmit来完成,前台只是负责提交数据


http://blog.csdn.net/cx19910829/article/details/77449104 这个也可以 参考下 

                工作第二天,要求做3个ajax小功能,后台代码已经给好了,在一个技术大牛的大哥指点下 ,终于把这个上传完成了(ps:我的前台基本很差)

功能:完成上传,即不用界面刷新即可得到上传图片,上传功能利用后台java代码上传,前台是jsp的,

先上干货吧,不多说了

 

关于ajax图片上传,上传是后台代码来完成的,利用ajaxSubmit来完成,前台只是负责提交数据_第1张图片
前台代码:
解释下这是一个隐藏域文件,
//form表单设置,${SHOPDOMAIN}这个是公司的服务器地址
		

上传





ajax代码块

         

 


后台代码:
    @RequestMapping("/updatetouxiang")
    public void updatetouxiang(HttpServletResponse response,
            HttpServletRequest request, HttpSession session) {
        JSONObject json = new JSONObject();
        User su = (User) session.getAttribute(SystemConfig.SESSION_FRONT_USER);
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile myfile = multipartRequest.getFile("myfile");
        if (null != myfile && !myfile.isEmpty()) {
            String filePath = Tools.uploadpic(myfile, "uploadWebSite");
            if (null != filePath) {
                su.setPicUrl(filePath);
            }
        }
        if (userService.updateByPrimaryKeySelective(su) > 0) {
            json.put("res_code", "0");
            json.put("message", "success");
            session.setAttribute(SystemConfig.SESSION_FRONT_USER, su);
        } else {
            json.put("res_code", "1");
            json.put("message", "修改失败");
        }
        try {
            responseAjax(json, response);
        } catch (UnsupportedEncodingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

/**
     * 上传图片
     * 
     * @param myfile
     * @param picdir
     * @return
     */
    public static String uploadpic(MultipartFile myfile, String picdir) {
        String saveUrl = "/attached/";
        String originalFilename = myfile.getOriginalFilename();
        Map maps = KindeditorController.mkdir(saveUrl, picdir);
        String endName = originalFilename.substring(originalFilename.lastIndexOf("."), originalFilename.length());
        String filename = UUID.randomUUID() + endName;
        if (endName.equals(".png") || endName.equals(".gif") || endName.equals(".jpg") || endName.equals(".jpeg")) {
            try {
                FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(maps.get("savePath"), filename));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return maps.get("saveUrl") + filename;
        }else if(endName.equals(".log")){
            try {
                FileUtils.copyInputStreamToFile(myfile.getInputStream(), new File(maps.get("savePath"), originalFilename));
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return null;

    }



完成,,最后大家有不明的可以给我回复,我收到会尽量帮助大家的。



你可能感兴趣的:(jsp传输数据)