springmvc文件上传

Springmvc文件上传

  1. 导入jar包(springmvc项目用到的jar+spring依赖包中apache的两个文件上传的jar)
  2. 修改form表单中的属性为:enctype="multipart/form-data"
  3. 在springmvc的配置文件中配置多媒体文件解析器实现上传
  4. 创建保存上传文件的文件夹:E:\13 SpringMVC\upload
  5. 配置虚拟目录与物理目录的映射
  6. 切换为Moduels,添加
  7. 物理目录与虚拟目录映射

  8. 映射之后,将项目publish到tomcat中,可以在tomacat文件的conf----server.xml文件中看到该映射已经被加载到tomcat中
  9. 配置资源文件,将保存路径作为参数写在资源文件中(savePath=E:\\13 SpringMVC\\upload\\)资源文件名是resource.properties,特别注意:保存路径写完物理路径后再加上\\,这样才能直接拼接文件名。写完配置文件之后,在springmcv.xml中引入资源文件。

  10. <!-- 引入resource.properties文件 -->

  11. <context:property-placeholder location="classpath:resource.properties"/>

  12. 在处理器中创建上传文件的方法

  13. //获取所有商品信息
        @RequestMapping("/items/list.action")
        public String getAllItems(Model model){//处理器提供的默认形参
            List<Items> list = itemsService.getAllItems();
            //将items放入request中
            model.addAttribute("items",list);
            //返回视图,在springmvc.xml中配置了前缀和后缀将返回的字符串与前缀和后缀拼接,就是要返回的视图
            return "itemsList";
        }

    //测试文件上传,需要在该方法中添加一个参数(MultipartFile pictureFile),这个参数名要和页面中的多媒体的name值一样
        @RequestMapping(value="/items/edit.action",method={RequestMethod.GET,RequestMethod.POST})//注解中可以设置能够接受的参数提交方式有哪些
        public String editItems(Items it,Model m,MultipartFile pictureFile) throws Exception{
            //调用文件上传的方法
                String string = uploadFile(pictureFile);//如果上传了文件,返回的是文件名,如果没有上传文件,返回的是null
                if(string != null){
                    //返回值不为空,说明有文件上传
                    it.setPic(string);//将文件名保存到Items中
                }
                m.addAttribute("item", it);
                itemsService.editItems(it);
                return "redirect:/items/list.action";//重定向到列表处理器,如果是转发,就把redirect改为forward
        
        }
        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QYHuiiQ

听说打赏的人工资翻倍~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值