首页 > 编程语言 > 详细

springMVC(十)——使用Ajax文件上传和参数上传

时间:2019-09-21 11:43:44      阅读:104      评论:0      收藏:0      [点我收藏+]

在springmvc中如何使用ajax即上传文件又上传参数呢?

本文参考于

https://blog.csdn.net/chengziaa123/article/details/81041371

这里在JS中使用到了FromData

springmvc.xml配置

 

<script type="text/javascript">
    function saveDraft(){
      //创建一个forData 
         var formData = new FormData($(#projectinfo)[0]);
        /* alert($("#province7").val()+$("#city7").val());
        var formData = new FormData($("#projectinfo"));
        formData.append("ps_file",$("#ps_file")[0].files[0]);
        formData.append("ps_name",$("#ps_name").val());
        
        formData.append("ps_goal",$("#ps_goal").val());
        formData.append("ps_money",$("#ps_money").val());
        formData.append("ps_days",$("#ps_days").val());
        fromData.append("province",$("#province7").val());        
        fromData.append("city",$("#city7").val()); */
        $.ajax({
            type : POST,
            url : /Crowd-funding/projects/upload,
            data : formData,
            dataType:"json",
            async: false,  
            cache : false,
            processData : false,
            contentType : false,
        }).success(function(data) {            
            alert("上传成功");
        }).error(function() {
            alert("上传失败");

        });
    }
</script>

 

 

 

 

后台代码

@RequestMapping(value = "/upload", method = RequestMethod.POST)
    @ResponseBody
    public boolean upload(@RequestParam("ps_file") MultipartFile ps_file, HttpServletRequest request,
            String ps_name ,
            String ps_goal ,
            String ps_money,
            String ps_days,
            String province,
            String city) {
        System.out.println(province+city);
        
        Map<String, String> modelMap = new HashMap<>();
        boolean flay=true;
        if (!ps_file.isEmpty()) {
            //获取文件上传真实保存路径
            String storePath = request.getServletContext().getRealPath("/images");
            Random r = new Random();
            String fileName = ps_file.getOriginalFilename();
            String[] split = fileName.split(".jpg");
            fileName = split[0] + r.nextInt(1000);
            fileName = fileName + ".jpg";
            System.out.println(fileName);
            File filePath = new File(storePath, fileName);
            System.out.println(filePath.getParentFile());
            if (!filePath.getParentFile().exists()) {
                filePath.getParentFile().mkdirs();// 如果目录不存在,则创建目录
            }
            try {
                ps_file.transferTo(new File(storePath + File.separator + fileName));// 把文件写入目标文件地址
            } catch (Exception e) {
                e.printStackTrace();
                modelMap.put("back", "error");
                return flay=false;                
            }
            modelMap.put("back", "success"); 
        } else {
            modelMap.put("back", "error");
        }
        return flay;
 
    }

 

springMVC(十)——使用Ajax文件上传和参数上传

原文:https://www.cnblogs.com/zjc364259451/p/11561413.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!