我有一个域类组织,它有一个名为 logo 的属性。徽标的类型是 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;
}
//...
}
你能帮我详细介绍一下吗?谢谢