Spring MVC 파일업로드 Multipart의 경우 몇가지 설정을 해야합니다.

 

1. pom.xml 파일업로드 관련 의존성 추가

<!--  파일업로드  -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.2</version>
        </dependency> <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.5</version>
        </dependency>
        <!--  파일업로드  -->

 

 


2. dispatcher-servlet.xml(이클립스 경우, servlet-context.xml)에 multipart 부분 설정 

 <!-- 파일업로드 관련 Mulitipart 설정 -->
    <beans:bean id="multipartResolver"
                class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 
        	setting maximum upload size
            최대 크기 설정
            <beans:property name="maxUploadSize" value="-1"/>
        -->
        <beans:property name="maxUploadSize" value="209715200"/> <!-- 20MB --> <!-- max size of file in memory (in bytes) -->
        <beans:property name="maxInMemorySize" value="1048576"/> <!-- 1MB -->
    </beans:bean>


3. web.xml에 multipart 부분 설정

 <!-- MultipartFilter 적용 -->
    <filter>
        <filter-name>MultipartFilter</filter-name>
        <filter-class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>MultipartFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- MultipartFilter 적용 -->


 

 

4. tomcat 설정하기(본인 설치한 톰캣 설정 파일) - 톰캣 - conf - context.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- The contents of this file will be loaded for each web application -->
<Context allowCasualMultipartParsing="true">
	<!-- Context와 아래 Resource 부분 변경 해결 -->
	<Resources cachingAllowed="true" cacheMaxSize="100000"></Resources>

    <!-- Default set of monitored resources. If one of these changes, the    -->
    <!-- web application will be reloaded.                                   -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

	
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->
</Context>

 

5. tomcat 설정하기(본인 설치한 톰캣 설정 파일) - 톰캣 - conf - server.xml

 - body로 전송할 수 있는 사이즈 defalut 2mb를 최대 2gb으로 변경.

 - the configured maximum ...... 에러 발생시 처리할 부분..

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 
			   maxPostSize="-1"/>
블로그 이미지

미나미나미

,