springMVC实现多文件上传

<h2>上传多个文件 实例</h2>
    <form action="/workreport/uploadMultiFile.html" method="post" enctype="multipart/form-data">
        <p>
            选择文件:<input type="file" name="files">
        <p>
            选择文件:<input type="file" name="files">
        <p>
            选择文件:<input type="file" name="files">
        <p>
            <input type="submit" value="提交">
    </form>
复制代码
复制代码
   // 多文件上传
    @RequestMapping(value = "/uploadMultiFile")
    public String uploadMultiFile(HttpServletRequest request) {
        try {
            // 创建一个通用的多部分解析器
            CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
            // 判断 request 是否有文件上传,即多部分请求
            if (multipartResolver.isMultipart(request)) {
                // 转换成多部分request
                MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
                // get the parameter names of the multipart files contained in this request
                Iterator<String> iter = multiRequest.getFileNames();
                while (iter.hasNext()) {
                    // 取得上传文件
                    List<MultipartFile> multipartFiles = multiRequest.getFiles(iter.next());
                    String basePath = "F:/testDir/";
                    for (MultipartFile multipartFile : multipartFiles) {
                        String fileName = multipartFile.getOriginalFilename();
                        if (StringUtils.isNotEmpty(fileName)) {
                            multipartFile.transferTo(new File(basePath + fileName));
                        }
                    }
                }
            }
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "test/success";
    }
复制代码
以下是以文件流的形式保存上传的文件:

复制代码
    // 文件上传
    @RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
    public String uploadFile(HttpServletRequest request) throws IOException {
        MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
        MultipartFile file = multipartHttpServletRequest.getFile("file");
        String fileName = file.getOriginalFilename();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
        String path = "F:/" + simpleDateFormat.format(new Date()) + fileName.substring(fileName.lastIndexOf("."));
        OutputStream fileOutputStream = new FileOutputStream(path);
        InputStream inputStream = file.getInputStream();
        byte[] buffer = new byte[2048];
        while (inputStream.read(buffer) != -1) {
            fileOutputStream.write(buffer);
        }
        log.info(path);
        fileOutputStream.flush();
        fileOutputStream.close();
        inputStream.close();
        return "test/success";
    }
时间: 2024-08-05 13:31:48

springMVC实现多文件上传的相关文章

SpringMVC实现单文件上传、多文件上传、文件列表显示、文件下载

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload.jar+connom-io.jar+commons-logging,jar+jstl.jar+standard.jar 整个相关的包如下: 整个工程目录如下: 二.配置web.xml和SpringMVC文件

springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

springMVC + hadoop + httpclient 文件上传请求直接写入hdfs

【springMVC】之文件上传

通过前两篇博客的学习,想必大家对springMVC已经有了一个基本的认识.今天我们主要来学习一下springMVC两种文件上传的方式. 首先介绍第一种,通过字节流的方式实现文件上传.首先创建一个upload.jsp页面 <body> <h>添加用户</h> <!-- entype要声音和支撑这种类型的,保证文件上传不会被解码--> <!-- form表单,action是说讲这个表单提交到什么路径: method="post"是提交方

SpringMVC学习(九)——SpringMVC中实现文件上传

这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文件的上传. 环境准备 SpringMVC上传文件的功能需要两个jar包的支持,如下: 工程中肯定要导入以上两个jar包,主要是CommonsMultipartResolver解析器依赖commons-fileupload和commons-io这两个jar包. 单个文件的上传 前台页面 我们要改造editItem.jsp页面,主要是在form表单中添加商品图片一栏,效果我截图如下: 注意一点的是form表单中别忘了写e

【SpringMVC学习08】SpringMVC中实现文件上传

之前有写过一篇struts2实现的文件上传,这一篇博文主要来总结下springmvc实现文件上传的步骤.首先来看一下单个文件的上传,然后再来总结下多个文件上传. 1. 环境准备 springmvc上传文件的功能需要两个jar包的支持(点我下载),如下 2. 单个文件的上传 2.1 前台页面 简单的写一下前台页面,注意一点的是form表单中别忘了写enctype="multipart/form-data"属性: <tr> <td>商品图片</td> &

SpringMVC实现ajax文件上传

SpringMVC实现文件上传,直接上代码: 后台代码: 01 @RequestMapping(value = "/uploadApk") 02 @ResponseBody 03 public Object uploadApk( 04         @RequestParam(value = "apkFile") MultipartFile apkFile, 05         HttpServletRequest request, HttpServletRes

2017/2/12:springMVC的简单文件上传跟拦截器

1.写文件上传的界面jsp代码如下重点为文件上传标签的类型 2.写登录成功跟失败的界面:成功自己写 3.写springMVC的文件上传的controller的方法 4.最后一步配置spring-servlet.xml一般是开始就配置 5.贴出整个demo的模型 切记:在springMVC中文件上传必须要用CommonsMultipartFile类来解析文件

SpringMVC使用MultipartFile文件上传,多文件上传,带参数上传

一.配置SpringMVC 在spring.xml中配置: <!-- springmvc文件上传需要配置的节点--> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="-1&

springMVC+uploadify3.1 文件上传 demo

uploadify3.1 api 可参考:(点击打开链接) 需要springmvc的jar包 1.upload.jsp(主要代码) [html] view plain copy print? <script type="text/javascript" charset="UTF-8" src="${pageContext.request.contextPath}/js/jquery1.11.js"></script> &l

SpringMvc入门五----文件上传

? 知识点: SpringMvc单文件上传 SpringMvc多文件上传 ? 这里我直接演示多文件上传,单文件的上传就不说了,不过代码都是现成的. 效果预览: ? DEMO图: ? ? 添加文件上传jar包: Web.xml配置文件:添加spring Servlet ????<servlet> ????????<servlet-name>springmvc</servlet-name> ????????<servlet-class>org.springfra