码迷,mamicode.com
首页 > 编程语言 > 详细

spring mvc文件上传方法

时间:2016-12-15 01:29:39      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:上传文件   spring   httpservletrequest   

spring mvc上传功能很强大。

spring mvc(注解)上传文件的简单例子,这有几个需要注意的地方
1.form的enctype=”multipart/form-data” 这个是上传文件必须的
2.applicationContext.xml中 <bean id=”multipartResolver” class=”org.springframework.web.multipart.commons.CommonsMultipartResolver”/> 关于文件上传的配置不能少

页面:

<%@ page pageEncoding="utf-8"%>  

<!DOCTYPE html>  

<html>  

<head>  

<meta charset="utf-8">  

<title>上传图片</title>  

</head>  

<body>  

<form action="upload.do" method="post" enctype="multipart/form-data">  

<input type="file" name="file" /> <input type="submit" value="Submit" /></form>  

</body>  

</html>  

方法如下:

@RequestMapping("/upload2"  )  

    public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException {  

        //创建一个通用的多部分解析器  

        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());  

        //判断 request 是否有文件上传,即多部分请求  

        if(multipartResolver.isMultipart(request)){  

            //转换成多部分request    

            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest)request;  

            //取得request中的所有文件名  

            Iterator<String> iter = multiRequest.getFileNames();  

            while(iter.hasNext()){  

                //记录上传过程起始时的时间,用来计算上传时间  

                int pre = (int) System.currentTimeMillis();  

                //取得上传文件  

                MultipartFile file = multiRequest.getFile(iter.next());  

                if(file != null){  

                    //取得当前上传文件的文件名称  

                    String myFileName = file.getOriginalFilename();  

                    //如果名称不为“”,说明该文件存在,否则说明该文件不存在  

                    if(myFileName.trim() !=""){  

                        System.out.println(myFileName);  

                        //重命名上传后的文件名  

                        String fileName = "demoUpload" + file.getOriginalFilename();  

                        //定义上传路径  

                        String path = "H:/" + fileName;  

                        File localFile = new File(path);  

                        file.transferTo(localFile);  

                    }  

                }  

                //记录上传该文件后的时间  

                int finaltime = (int) System.currentTimeMillis();  

                System.out.println(finaltime - pre);  

            }  

              

        }  

        return "/success";  

    }  

spring 配置文件中添加为:

<!-- 支持上传文件 -->  

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"/>  


具体参考如大神的博客:

http://www.cnblogs.com/fjsnail/p/3491033.html

spring mvc文件上传方法

标签:上传文件   spring   httpservletrequest   

原文地址:http://butcher36.blog.51cto.com/9315484/1882728

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!