2014-03-18 43 views
0

不知道如何進行調試。我有一個行爲不端的PrimeFaces fileUpload組件。PrimeFaces fileUpload組件進度條失敗

  • 我與PrimeFaces 3.5工作
  • FileUpload組件進度條在文件上傳過程中不顯示進度
  • 文件並上傳成功
  • 沒有看到錯誤消息,在我的IDE錯誤控制檯
  • 我也沒有看到在瀏覽器控制檯中的任何JavaScript錯誤
  • 這確實有一段時間(我繼承了這個項目),試圖通過我的git回購找到什麼改變,但沒有運氣

這裏是我的組件代碼

<div class="input input-file"> 
    <p:fileUpload fileUploadListener="#{adminFilesController.handleFileUpload}" 
     mode="advanced" 
     process="@form" 
     multiple="true" 
     allowTypes="/(\.|\/)(gif|jpe?g|png|mp4|avi)$/" 
    /> 
</div> 

這是它說話

public void handleFileUpload(FileUploadEvent event) { 

    try { 
     String fileName = event.getFile().getFileName(); 
     String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); 
     String randomId = UUID.randomUUID().toString(); 
     String targetFileName = randomId + "." + fileExtension; 
     File targetFile = new File(this.tempPath, targetFileName); 
     this.uploadedFiles.put(targetFileName, fileName); 

     InputStream inputStream = event.getFile().getInputstream(); 
     OutputStream out = new FileOutputStream(targetFile); 
     int read = 0; 
     byte[] bytes = new byte[20480]; 

     try { 
      while ((read = inputStream.read(bytes)) != -1) { 
       out.write(bytes, 0, read); 
      } 

      inputStream.close(); 

      out.flush(); 
      out.close(); 
     } catch (Exception e) { 
      logger.log(Level.SEVERE, "Can't write file", e.toString()); 
     } 
    } catch (Exception e) { 
     logger.log(Level.SEVERE, "An exception occurred trying to process the handleFileUpload Event {0}", e.toString()); 
     logger.log(Level.SEVERE, e.getMessage()); 
     System.out.println(e.getStackTrace()); 
    } 
} 

任何援助調試或谷歌搜索,這將是一筆鉅額讚賞法,我是一個當涉及到JSF和PrimeFaces時,耳朵後面很小。

+0

什麼版本的Primefaces? –

+0

PrimeFaces v 3.5 @ DanielB.Chapman。 – fusion27

回答

0

我終於想出了這一個。我包括jQueryUI,這顯然會撞上PrimeFaces。簡單地不包括它使得進度條再次開始工作。我希望這可以幫助別人!