Preloader image
DDD

자바

★ SPRING) multi/part upload - 아주 간단한 멀티파트 파일 업로드

작성자 관리자 (admin)
조회수 1,504
입력일 2021-04-27 01:08:56

multi/part upload - 아주 간단한 멀티파트 파일 업로드
이 소스 코드보다 간단한건 없다.

-- pom.xml

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>

-- view

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<pre>
    <form name="fileForm" action="requestupload2" method="post" enctype="multipart/form-data">
        <input multiple="multiple" type="file" name="file" />
        <input type="text" name="src" />
        <input type="submit" value="전송" />
    </form>

</pre>
</body>
</html>

-- Contoroller
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;

.......
    @RequestMapping(value = "requestupload2")
    public String requestupload2(MultipartHttpServletRequest mtfRequest)
    {
        List<MultipartFile> fileList = mtfRequest.getFiles("file"); // 파일인 경우
        String src = mtfRequest.getParameter("src"); // 텍스트인경우도 가능
        System.out.println("src value : " + src);

        String path = "D:/temp/";
        String originFileName;
        long fileSize;
        String saveFile;

        for (MultipartFile mf : fileList)
        {
            originFileName = mf.getOriginalFilename(); // 원본 파일 명
            fileSize       = mf.getSize()            ; // 파일 사이즈

            System.out.println("originFileName : " + originFileName);
            System.out.println("fileSize       : " + fileSize);

            saveFile = path + System.currentTimeMillis() + originFileName;
            try {
                mf.transferTo(new File(saveFile));
            } catch (IllegalStateException e) {
                logger.info("●●●●●● IllegalStateException : " + e.toString());
            } catch (IOException e) {
                logger.info("●●●●●● IOException : " + e.toString());
            }
        }
        return "redirect:/upload_p.jsp";
    }

-- VO

package com.erp.vo;

import java.io.Serializable;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import com.erp.vo._common_field;

public class bbs_board extends _common_field implements Serializable
{
    /*
     *  Serialization
     */
    private static final long serialVersionUID = 1L;

    /*
     *  BOARD - FILE
     */
    private int    mna_num      ; //
    private int    mno_num_key  ; //
    private String mna_type     ; //
    private String mna_part     ; //
    private int    mna_position ; //
    private String mna_view     ; //
    private String mna_file     ; //
    private String mna_file_org ; //
    private String mna_text     ; //
    private String mna_create_u ; //
    private String mna_create_d ; //
    private String mna_update_u ; //
    private String mna_update_d ; //
    private String mna_rmk      ; //
    ..
    ..
    ..
    생략


    /*
     *  @ File Upload
     */
    public String toStringSimple() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.SIMPLE_STYLE);
    }

    public String toStringDefault() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.DEFAULT_STYLE);
    }

    /*
    public String toStringJson() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.JSON_STYLE);
    }
    */

    public String toStringMultiline() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
    }

    /*
    public String toStringNoClass() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.NO_CLASS_NAME_STYLE);
    }
    */

    public String toStringNoFieldName() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.NO_FIELD_NAMES_STYLE);
    }

    public String toStringShortPrefix() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
    }

    @Override
    public String toString()
    {
        return "bbs_board [mna_num=" + mna_num + ", mno_num_key=" + mno_num_key + ", mna_type="
                + mna_type + ", mna_part=" + mna_part + ", mna_position=" + mna_position + ", mna_view=" + mna_view
                + ", mna_file=" + mna_file + ", mna_file_org=" + mna_file_org + ", mna_text=" + mna_text + ", mna_create_u="
                + mna_create_u + ", mna_create_d=" + mna_create_d + ", mna_update_u=" + mna_update_u + ", mna_update_d="
                + mna_update_d + ", mna_rmk=" + mna_rmk + "]";
    }


}
 

-- dispatcher.xml

    <beans:bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <beans:property  name="maxUploadSize" value="100000000" />
        <beans:property  name="maxInMemorySize" value="100000000" />
    </beans:bean>

 

^