LoginSignup
4

More than 3 years have passed since last update.

MultipartResolverを設定してSpringでファイルアップロードを行えるようにする

Posted at

Springでファイルアップロードができるようになるまで

Spring MVCでJava Configの続編を少しだけ書いてみました。
前回Java Configで設定した内容に加えて、今回はSpringのファイルアップロード設定を行ってアップロードができるようにしていきます。

設定方法

設定クラスにMultipartResolverをBean登録していきます。
登録時にメモリサイズ、アップロードサイズの上限値を同時に設定することができます。
FWのマイグレーションとしてこの設定を行う場合は、元々の設定値を調べて設定することで同様の挙動を再現することができます。

    private static final int MAX_UPLOAD_SIZE = 1024 * 1024; //1MB

    private static final int MAX_IN_MEMORY_SIZE = 1024 * 256; //256KB

    @Bean
    public MultipartResolver multipartResolver() {
        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
        multipartResolver.setMaxUploadSize(MAX_UPLOAD_SIZE);
        multipartResolver.setMaxInMemorySize(MAX_IN_MEMORY_SIZE);
        return multipartResolver;
    }

使用方法

ファイルアップロード対象のプロパティは型をMultipartFileとして定義します。

    /**
     * アップロードするファイル
     */
    private MultipartFile file = null;

あとは上記のプロパティにgetter,setterを付与し、Viewと連携してファイルをアップロードすることで実際にファイル操作することが可能となります。

手順としては上記のように簡単に設定して行えるようにできます。
はじめて設定した時は時間がかかった記憶があるので、誰かのお役に立てたら嬉しく思います!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
4