0

私はprimefacesアップロードファイルコンポーネントを使用していますが、すべて正常に動作します:アップロードされたファイルを取得する必要があるという私の問題:

public void handleFileUpload(FileUploadEvent event)  {
   selectedFile=(File) event.getFile();    
  }  

アップロードされたファイルには DefaultUploadedFile タイプ class がありますが、 File クラス type が必要です。キャストしようとしましたが、キャストエラーが発生したため、DefaultUploadedFile URI を使用してファイルを作成する別の解決策を見つけました

selectedFile=new File(Uri) 

しかし、私はそれを取得する方法を見つけることができませんでしたevent.getFile()

どんなアイデアでも大歓迎です

4

2 に答える 2

2

ist を にキャストできるとは思いませんjava.io.FilegetFile()メソッドによって返されるインスタンスの型UploadedFileは (java.io.File とはまったく関係ありません) です。ただし、次のようにファイルgetInputStream()を取得しInputStreamて読み取るためにメソッドを使用できます。

UploadedFile file = event.getFile();
InputStream in = file.getInputStream();
// do something useful with the input stream...

UploadedFile インターフェイスは、アップロードされたファイルを検査するための他の便利なメソッドを提供します。詳細については、http ://www.dzeek.net/javadoc/primefacesdocs/org/primefaces/model/UploadedFile.html を参照してください。

于 2012-09-28T10:17:33.520 に答える
1

メソッドで get InputStreamfrom UploadedFile. そして、InputStreamそれは簡単な方法Fileです。例 ( Java で InputStream を File に変換する方法)

public void handleFileUpload(FileUploadEvent event)  {        
    UploadedFile selectedFile = event.getFile();
    InputStream inputStream = selectedFile.getInputstream();    
    ...
}
于 2012-09-28T10:16:26.383 に答える