js 上传文件_SpringMVC+ajaxFileUpload.js实现文件上传

在项目中,经常用到的一个功能就是文件的上传和下载,不过大多数情况下都是通用的工具类,自己写的情况较少,这里写个通过Spring框架和ajaxFileUpload插件实现上传的小功能,做个练习和记录。
首先配置下SpringMVC的配置文件,配置支持文件上传

       

然后写个简单的JSP页面,为了方便绑定数据,引入Spring自带的Form表单标签,引入语句

 

Form表单实现一个简单的注册功能,虽然说美感不好,这里还是引用了下bootstrap做了个简单的排版。因为原版的file标签的格式无法调整,所有用了其他的小标签代替,然后用按钮去触发file标签

       My JSP 'index.jsp' starting page
注册页面
账号:
密码:
姓名:
性别:
附件:

后台页面控制器,因为用了SpringMVC的form表单,所以在渲染的时候模型中一定要有user这个对象,所以我们用控制器跳转页面

@RequestMapping("/Login.do")    public String Login(@ModelAttribute("user") User user, Model model){        System.out.println("进入");        user.setName("小明");        user.setSex("男");        user.setUserName("叶良辰");        model.addAttribute("user", user);                return "index";            }

这里为了显示SpringMVC form的自动绑定功能,我给user对象设置了值,在JSP页面,如果form:input标签由path属性和user里的属性一样,会自动设置值

e80d4f178e30832ea0e60799a1b7e26b.png

附件的js代码在上面的JSP页面中已经写好了,下面是后台控制的controller,因为我们配置了multipartResolver,所以form表单是设置了enctype="multipart/form-data,后台一样能直接取出文本值
接受文本框内容的controller

    @RequestMapping("/register.do")    public String register(@ModelAttribute("user") User user, Model model){        model.addAttribute("user", user);        System.out.println(user);        return "index";            }

附件上传的controller

    @RequestMapping("/fileUpload.do")    public @ResponseBody Message fileUpload(HttpServletRequest request,@RequestParam("fileUpload") MultipartFile file,            @RequestParam("fileName") String fileName,@ModelAttribute("user") User user,Model model,Message mes){                //简单判断文件是否为空        if(!file.isEmpty()){                        try {                // 文件保存路径                  String filePath = request.getSession().getServletContext().getRealPath("/") + "fileUpload/"                          + file.getOriginalFilename();                file.transferTo(new File(filePath));                mes.setMessage("OK");            } catch (Exception e) {                mes.setMessage("NG");                e.printStackTrace();            }        }        user.setFile(fileName);        System.out.println(fileName);        model.addAttribute("user", user);        System.out.println(user);        return mes;            }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值