1

ロゴと呼ばれるプロパティを持つドメイン クラス Organization があります。ロゴのタイプは MultipartFile です。しかし、問題は、ファイルを WEB-INF/resource のディレクトリに保存し、元のファイル名のみをデータベースに保存したいことです。私のドメインクラスは次のとおりです。

public class Organization {

    @Id
    @GeneratedValue
    private Integer id;
    @Column
    private MultipartFile logo;
    @Column
    private String title;

    //getters & setters

}

そして、私のJSPフォームは以下のようなものです:

<f:form method="post" commandName="organization" action="${ requestScope.requestURI }" enctype="multipart/form-data">
    <f:hidden path="id"/>

        <dt><f:label path="logo">Logo</f:label></dt>
        <dd><input type="file" name="logo" class="form-control input-sm"/></dd>

        <dt><f:label path="title">Title</f:label></dt>
        <dd><f:input path="title" class="form-control input-sm"/></dd>

        <dd>
            <f:button type="submit" name="submit" class="btn btn-success btn-sm">Submit</f:button>
            <f:button type="reset" class="btn btn-warning btn-sm">Reset</f:button>
        </dd>
    </dl>
</f:form>

私のデータベースでは、ロゴ列のタイプとして VARCHAR を使用しました。そのため、ファイルを MultipartFile としてアップロードし、ファイルを WEB-INF のディレクトリに保存します。ただし、データベースのロゴ フィールドには originalFileName のみを保持したいことを思い出してください。コントローラーの実装やその他のプロセスを示すのを手伝ってくれませんか。私は春の注釈ベースの構成を使用しています。したがって、私の構成ファイルは次のようになります。

public class WebAppConfig extends WebMvcConfigurerAdapter {
    /...
    @Bean
    public CommonsMultipartResolver getMultipartResolver() {
        CommonsMultipartResolver cmr = new CommonsMultipartResolver();
        cmr.setMaxUploadSize(1*1024*1024);
        return cmr;
    }
    //...
}

詳しく教えていただけますか?ありがとう

4

0 に答える 0