2016-09-27 52 views
0

私のアプリケーションにSpringbootと組み込みサーバー(Jetty)を使用しています。イメージをアップロードしてimgタグをリフレッシュ

画像をアップロードして、HTMLページを再読み込みして新しい画像をimgタグに表示したいとします。

Thファイルがアップロードされ、アプリケーションのフォルダに保存されます。しかし、私がページをリロードすると、私は新しいイメージを見ることができません。

私の組み込みサーバは私の新しいファイルを見ることができないようです。プロジェクトを再構築すると、新しいファイルが表示されます。私はここに私のプロジェクト

をrebuiltingことなく、自動的に私のimgタグをリフレッシュするために行うことができますどのように

は私のhtmlページが

<img th:src="@{/images/scan/}+${signatureScannedImg}" style="margin-bottom: 30px"/> 
      <form th:action="@{/upload-signature-scan}" th:method="post" enctype="multipart/form-data"> 
      <table> 
       <tr><td><input type="file" name="file" /></td></tr> 
       <tr><td><input type="hidden" id="scannedFile" name="scannedFile" value="signature" /></td></tr> 
       <tr><td><input type="hidden" id="idClient" name="idClient" th:value="${clientView.id}" /></td></tr> 
       <tr><td><input type="submit" value="Enregistrer" /></td></tr> 
      </table> 
      </form> 

ですそして、私のコントローラメソッドは次のとおりです。

@RequestMapping(value = "/upload-signature-scan", method = RequestMethod.POST) 
    public String handleFileUpload(
           @RequestParam("file") MultipartFile file, 
           @RequestParam("idClient") Long idClient, 
           @RequestParam("scannedFile") String scannedFile, 
           RedirectAttributes redirectAttributes) { 
    Path rootLocation= Paths.get("src/main/resources/static/images/scan"); 
    try { 
     Files.copy(file.getInputStream(), rootLocation.resolve("image.jpg")); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    redirectAttributes.addAttribute("id", idClient); 
    redirectAttributes.addFlashAttribute("id", idClient); 
    redirectAttributes.addFlashAttribute("signatureScannedImg", "image.jpg"); 
    return "redirect:/client/{id}/details"; 
    } 
+0

あなたのPictureUploadControllerクラスを見ることができますか? –

+0

はい投稿を変更しました –

答えて

関連する問題