SpringMVC 框架实现文件上传

1、原理

这里我们自己去配置一个文件解析器,然后可以直接在controller里面获取文件上传项。这里参数中的upload必须和input上传文件标签中的upload是一样的。

SpringMVC 框架实现文件上传_第1张图片

2、主要代码

这里的项目与上一篇文章是一样的,只是controller类和web.xml不同
https://blog.csdn.net/weixin_44588495/article/details/94382058

web.xml:这里添加了一个bean,这里的id必须是multipartResolver

	 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <property name="maxUploadSize" value="10485760"/>
    bean>

controller类

@RequestMapping(path = "con")
public class controller {
    @RequestMapping(path = "test")
    public String test(HttpServletRequest request, MultipartFile upload) throws Exception {
        //使用fileupload组件完成文件上传
        //上传的位置
        String realPath = request.getSession().getServletContext().getRealPath("/uploads/");
        //判断,该路径是否存在
        File file = new File(realPath);
        if(!file.exists())
            file.mkdir();
        //获取文件的名字
        String fileName = upload.getOriginalFilename();
        //把文件的名字设置成唯一值
        String uuid = UUID.randomUUID().toString().replace("-","");W
        fileName = uuid+"_"+fileName;
        // 完成上传
        upload.transferTo(new File(realPath,fileName));
        return "success";
    }
}

这里只是解析和上传的时候和之前不太一样。

你可能感兴趣的:(SpringMVC)