Обновить форму с вводом изображения, каждый раз загружать изображение - PullRequest
0 голосов
/ 13 февраля 2019

Я работаю над приложением, в котором вы можете зарегистрировать элементы в базе данных, используя форму.Форма имеет несколько полей ввода текста и поле ввода для загрузки изображения для элемента.

Если я пытаюсь добавить новый элемент, поле загрузки изображения и все остальные поля остаются пустыми (как и должно быть).Но когда я хочу обновить модель, только текстовые поля извлекают сохраненную информацию из базы данных.Это означает, что мне нужно загрузить одно и то же изображение, чтобы опубликовать форму / обновить информацию, даже если я не делаю никаких изменений.Есть ли способ «предварительной загрузки» изображения с сервера в форму редактирования, чтобы пользователю не приходилось загружать его?

Я использую Thymeleaf для представлений.

Метод обслуживания элементов для сохранения элементов:

@Override
public void save(Item item, MultipartFile file) {

    try {

        String IMAGE_LOCATION = "/src/main/resources/static/images/";

        String projectDir = System.getProperty("user.dir");
        String totalPath = projectDir + IMAGE_LOCATION;

        Path path = Paths.get(totalPath + file.getOriginalFilename());

        Files.copy(file.getInputStream(),path);

    } catch (IOException e) {
        e.printStackTrace();
    }


    item.setImageName(file.getOriginalFilename());
    itemRepository.save(item);
}

Просмотр:

        <form th:action="@{/save}" method="post" modelAttribute="item" enctype="multipart/form-data">

            <input type="hidden" th:value="${item.item_id}" name="item_id">


            <div class="form-group">
                <input type="text" class="form-control" th:value="${item.name}" placeholder="Name" name="name">
            </div>

            <div class="form-group">
                <input type="text" class="form-control" th:value="${item.quantity}" placeholder="Quantity" name="quantity">
            </div>

            <div class="form-group">
                <input type="file" class="form-control" name="file"/>
            </div>


            <button class="btn btn-success">Add item</button>
        </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...