Как заставить мою страницу обновлять изображение при перезаписи - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь перезаписать и обновить изображение на странице всякий раз, когда мой конечный пользователь захочет.Они просто загрузят новое изображение, и оно заменит старое с тем же именем файла, и тогда путь src на веб-странице не нужно будет менять.Тем не менее, это отчасти работает.Файл перезаписывается.но когда я обновляю страницу, изображение не меняется на новое.Самое странное, что когда я захожу в свою среду IDE (Eclipse) и дважды щелкаю по новому файлу изображения, ТОГДА я могу обновить веб-страницу, и она показывает новую замененную страницу.Это мой первый проект работы, и я не нашел ответа в другом месте. Я предоставлю код;

<img th:src="@{/img/uploadedFile.jpg}" alt="image"></img>

    @RequestMapping(method=RequestMethod.POST, value="image")
        public String processImageForm(@RequestParam("file") MultipartFile file, 
            RedirectAttributes redirectAttributes) {


        if (file.isEmpty()) {
            redirectAttributes.addFlashAttribute("message", "Please select a file to upload");
            return "redirect:image";
        }

        String extension = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));
        Path path = Paths.get(UPLOADED_FOLDER + fileName + extension);

        try {
            Files.deleteIfExists(path);

        } catch (IOException | SecurityException e) {
            System.err.println(e);
        }

         try {
                // Get the file and save it somewhere
                byte[] bytes = file.getBytes();
                Files.write(path, bytes);

               redirectAttributes.addFlashAttribute("message", "You     successfully uploaded '" + file.getOriginalFilename() + "'");

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

        return "redirect:image";
    }

}

1 Ответ

0 голосов
/ 17 мая 2018

Полагаю, вы не копируете этот файл в правильное местоположение.

Вы знаете, что в веб-приложении файл войны создается и затем развертывается на сервере. Поэтому для того, чтобы что-то изменить, вам нужно изменить это на сервере (даже при запуске из Eclipse он создает у вас контекст сервера). Я полагаю, в этом и заключается ваша проблема - вы копируете файл в неправильное место.

И когда вы работаете из Eclipse, файл должным образом заменяется в вашей локальной файловой системе, но это не меняет развернутое военное приложение. Когда вы дважды щелкаете по нему в Eclipse, он замечает это изменение и автоматически развертывает его для вас, в основном изменяя файл на сервере.

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