У меня есть пружинная форма для сохранения профиля пользователя, в котором есть поле для сохранения удостоверения личности в виде изображения. В серверной части изображение загружается в корзину aws s3, а соответствующий URL-адрес сохраняется в локальной базе данных.
<form:form action="${addpartner}" id="addpartner" modelAttribute="partnerForm" enctype="multipart/form-data" cssClass="form form-horizontal">
//skipping other fields
<div class="form-group row">
<form:label path="idProofFile" cssClass="col-md-3 label-control">
<spring:message code="partner.idproof"></spring:message><span class="danger">*</span>
</form:label>
<div class="col-md-9">
<form:input path="idProofFile" id="idProofFile" type="file" cssClass="form-control" />
</div>
</div>
</form>
Запись в базе данных для поля id_proof для любого пользователя выглядит примерно так: https://s3.amazonaws.com/mybucket/1562773577867-Capture.JPG
Все работает хорошо, пока я не нажму кнопку редактирования, чтобы отредактировать некоторые детали уже существующего пользователя. В этом случае все остальные поля, такие как имя, электронная почта, заполняются в форме, поскольку они сохраняются в БД, но не в Файл . Он пуст, что означает, что файл находится в s3, а не в БД.
Форма фасоли
private Long partnerId;
private String firstname;
private String lastname;
private String email;
private Long cityId;
private String cityname;
private String username;
private String password;
private String mobileno;
private String idCardNumber;
private String idProof;
private MultipartFile idProofFile;
private String address;
private String termsandconditions;
Одним из способов решения этой проблемы является загрузка файла с s3 перед отображением формы редактирования и установка его в MultipartFile idProofFile из dto. Хотя я могу загрузить файл с s3, передо мной стоит задача преобразовать тип файла в многоэлементный.
Есть ли лучший способ сделать все это. Я просто хочу убедиться, что при нажатии на кнопку редактирования поля файла не должны быть пустыми, и в нем должно отображаться имя файла, который существует для этого пользователя.
![How it looks now when I click on edit button](https://i.stack.imgur.com/iSYuN.jpg)
Для справки
EDIt -1
Я создал пользовательский класс multipart, ссылающийся на this , и теперь могу преобразовать байтовый массив в multipart и установить его в dto. Но все же поля показывают "не выбран файл".