Spring формы и проблемы с загрузкой файла из S3 с помощью AWS Java Java SDK - PullRequest
0 голосов
/ 11 июля 2019

У меня есть пружинная форма для сохранения профиля пользователя, в котором есть поле для сохранения удостоверения личности в виде изображения. В серверной части изображение загружается в корзину 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

Для справки

EDIt -1

Я создал пользовательский класс multipart, ссылающийся на this , и теперь могу преобразовать байтовый массив в multipart и установить его в dto. Но все же поля показывают "не выбран файл".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...