2012-12-04 19 views
-1

我的問題是面向過程後的文件上傳,我的意思是,我使用JSF 2.1和Primefaces上傳文件到我的項目文件夾,但我需要文件立即被項目識別,所以我可以使用它或閱讀它以顯示上傳文件的預覽,所以我該怎麼做?獲取上傳的文件通過JSF項目識別

+0

線程[如何使用PrimeFaces p:fileUpload? Listener方法從不調用](http://stackoverflow.com/questions/8875818/how-to-use-primefaces-pfileupload-listener-method-is-never-invoked)和教程[Primefaces文件上傳示例](http: //www.mastertheboss.com/primefaces/primefaces-file-upload-example)可以幫助你。 –

回答

1

取決於您使用的是哪個組件。最簡單的方法將使用Single FileUpload

<p:fileUpload fileUploadListener="#{fileBean.handleFileUpload}" 
          mode="advanced" 
          sizeLimit="100000"/> 

上傳handleFileUpload方法之後調用:

public void handleFileUpload(FileUploadEvent event) { 
    String filename = event.getFile().getFileName(); 
    String content = new String(event.getFile().getContents()); 
} 

正如你可以看到filenamecontent都是字符串,它是很容易表現出一定的上傳後的預覽類型。

例如,您可以將content分配給與您的接口上的p:inputTextarea連接的另一個bean屬性。然後通過使用p:fileUploadupdate屬性,您可以更新該特定的p:inputTextarea

+0

這就是我正在做的,但是當文件最終上傳,我試圖訪問它,它不會被識別,我必須重新加載頁面,所以我可以使用它 – Pigritia