温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

spring mvc文件上传方法

发布时间:2020-08-05 20:36:19 来源:网络 阅读:314 作者:butcher36 栏目:开发技术

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI