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

SpringMVC文件上传

时间:2019-11-12 00:27:46      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:ping   throw   page   文件名   bind   上传   real   多文件   nsf   

一、创建文件上传FileController类

package com.byzore.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;

@Controller
@RequestMapping("/file")
public class FileController {
    @RequestMapping("/fileUpload")
    /**
     * MultipartFile 选择文件
     */
    public String fileupload(HttpSession session, MultipartFile file,String author)throws IOException{
        System.out.println("作者:"+author);
        System.out.println(file);
        /**
         * 如何处理文件
         */
        if (!file.isEmpty()){
            //获取文件名称
            String fileName=file.getOriginalFilename();
            //获取到需要上传的路径
            String realPath = session.getServletContext().getRealPath("/WEB-INF/upload");
            //创建文件对象
            File uploadfile=new File(realPath+"\\"+fileName);
            //如何上传文件
            file.transferTo(uploadfile);
        }
        return "index";
    }



    @RequestMapping("/fileUploads")
    /**
     * 多文件上传
     */
    public String fileuploads(HttpSession session, MultipartFile[] uploadFiles,String author)throws IOException{
        System.out.println("作者:"+author);
        System.out.println(uploadFiles);
        for (MultipartFile file: uploadFiles) {
            /**
             * 如何处理文件
             */
            if (!file.isEmpty()){
                //获取文件名称
                String fileName=file.getOriginalFilename();
                //获取到需要上传的路径
                String realPath = session.getServletContext().getRealPath("/WEB-INF/upload");
                //创建文件对象
                File uploadfile=new File(realPath+"\\"+fileName);
                //如何上传文件
                file.transferTo(uploadfile);
            }
        }

        return "index";
    }
}

二、编辑applicationContext.xml文件

<?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
        <!--将Controller注入到容器当中   id就是浏览器请求地址-->
        <!--<bean id="/firstController" class="com.springmvc.controller.FirstController"></bean>-->

        <!--配置包扫描器-->
        <context:component-scan base-package="com.byzore"/>
        <!--Spring支持SpringMVC-->
        <mvc:annotation-driven/>

    <!--配置视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

    <!--利用DefaultServlet放行资源-->
    <mvc:default-servlet-handler/>

    <!--从Spring3.0.4版本提供资源放行的方式-->
    <!--<mvc:resources mapping="/**" location="/img"/>-->
<!--文件上传解析器-->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--编码-->
        <property name="defaultEncoding" value="UTF-8"/>
        <property name="maxUploadSize" value="5000000000"/>
    </bean>
</beans>

三、创建fileUpload.jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>文件上传</title>
</head>
<body>
    <form action="/file/fileUpload" method="post" enctype="multipart/form-data">
        <input type="file" name="fileUpload"/>
作者:<input type="text" name="author"/>
        <input type="submit" value="提交"/>
    </form>
</body>
</html>

SpringMVC文件上传

标签:ping   throw   page   文件名   bind   上传   real   多文件   nsf   

原文地址:https://www.cnblogs.com/tinghao/p/11839102.html

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