Spring MVCとThymeleafを使用してファイルをアップロードしようとしていますが、提供されます。Spring MVCファイルのアップロード:マルチパート構成が提供されていないため、パーツを処理できません。
これは私のThymeleafフォームです:
<form action="#" th:action="@{/settings/profile}"
th:object="${profileSettingsForm}" method="POST" enctype="multipart/form-data">
<div class="form-group">
<label for="profilePicture">Picture</label> <input type="file"
th:field="*{profilePicture}" id="profilePicture" name="profilePicture">
</div>
<div class="form-group">
<label for="username">Username</label> <input type="text"
th:field="*{username}" class="form-control" id="username"
placeholder="Type your new username">
</div>
<div class="form-group">
<label for="biography">Biography</label>
<textarea th:field="*{biography}" class="form-control" id="biography"
rows="3" placeholder="Type your new biography"></textarea>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
は、これは私のフォームバインディングクラスです:
:またpublic class ProfileSettingsForm {
private static final String NOT_BLANK_MESSAGE = "{notBlank.message}";
private MultipartFile profilePicture;
@NotBlank(message = ProfileSettingsForm.NOT_BLANK_MESSAGE)
private String username;
@NotBlank(message = ProfileSettingsForm.NOT_BLANK_MESSAGE)
private String biography;
public ProfileSettingsForm() {
}
public ProfileSettingsForm(String username, String biography) {
this.username = username;
this.biography = biography;
}
// Getters and setters
}
ドキュメントは、このように私のWebMvcConfig.java
に言うように、私はマルチパートリゾルバを設定しています
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("utf-8");
resolver.setMaxUploadSize(10000);
return resolver;
}
私が持っていてもアップロードフォームが機能しないのはなぜですか私のMultiPartResolverをセットアップしますか?何か不足していますか?
はhttps://stackoverflow.com/a/24267170/755401を見て – arthur