• SpringMvc 文件上传


    commons-fileupload.jar、commons-io.jar

    springmvc.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/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
            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-4.3.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
    
        <!-- 扫描 有注解的包 -->
        <context:component-scan base-package="handler"></context:component-scan>
    
        <!--配置视图解析器(InternalResourceViewResolver)  -->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="prefix" value="/views/"></property>
            <property name="suffix" value=".jsp"></property>
        </bean>
    
        <!--view-name会被视图解析器 加上前缀、后缀  -->
        <mvc:view-controller path="handler/testMvcViewController" view-name="success"/>
    
        <!-- 该注解 会让 springmvc: 接收一个请求,并且该请求 没有对应的@requestmapping时,将该请求 交给服务器默认的servlet去处理(直接访问)  -->
        <mvc:default-servlet-handler></mvc:default-servlet-handler>
    
    
        <!-- 1将 自定义转换器 纳入SpringIOC容器 -->
        <bean id="myConverter" class="converter.MyConverter"></bean>
    
        <!-- 2将myConverter再纳入 SpringMVC提供的转换器Bean
        <bean id="conversionService"  class="org.springframework.context.support.ConversionServiceFactoryBean">
            <property name="converters">
                <set>
                    <ref bean="myConverter"/>
                </set>
            </property>
        </bean>
         -->
    
        <!-- 3将conversionService注册到annotation-driven中 -->
        <!--此配置是SpringMVC的基础配置,很功能都需要通过该注解来协调  -->
        <mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven>
    
        <!-- 配置 数据格式化 注解 所依赖的bean FormattingConversionServiceFactoryBean:既可以实现格式化、又可以实现类型转换 -->
        <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
            <property name="converters">
                <set>
                    <ref bean="myConverter"/>
                </set>
            </property>
        </bean>
    
        <!-- 配置CommonsMultipartResolver,用于实现文件上传 将其加入SpringIOC容器.
            springIoc容器在初始化时,会自动寻找一个Id="multipartResolver"的bean,并将其加入Ioc容器 -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <property name="defaultEncoding" value="UTF-8"></property>
            <!-- 上传单个文件的最大值,单位Byte;如果-1,表示无限制 -->
            <property name="maxUploadSize"  value="104857600"></property>
        </bean>
    
    </beans>
    testUpload
        @RequestMapping("testUpload")
        public String testUpload(MultipartFile file, String desc) throws IOException {
            System.out.println("文件描述信息:" + desc);
            InputStream inputStream = file.getInputStream();
            String fileName = file.getOriginalFilename();
            String path = "E:\0JAVA\JavaFile\" + fileName;
            OutputStream outputStream = new FileOutputStream(path);
            int len;
            byte[] bytes = new byte[1024];
            while ((len = inputStream.read(bytes)) != -1) {
                outputStream.write(bytes, 0, len);
            }
            inputStream.close();
            outputStream.close();
            System.out.println(555555);
            return "success";
        }

     index.jsp

    <form action="handler/testUpload" method="post" enctype="multipart/form-data">
        <input type="file" name="file"> <br>
        <input type="text" name="desc" value="描述"> <br>
        <input type="submit" value="上传">    <br>
    </form>
  • 相关阅读:
    Queue
    Singly-Linked List
    Array
    HTTP请求详解
    封装element的API
    uniapp登录逻辑
    Selector学习笔记 (未完待续)
    <Scalable IO in Java>学习
    Spring PropertyMapper源码阅读笔记
    leetcode 字节跳动探索系列
  • 原文地址:https://www.cnblogs.com/kikyoqiang/p/11878832.html
Copyright © 2020-2023  润新知