0

我正在使用 primefaces 上传文件组件一切正常:我需要检索上传的文件的问题:

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

上传的文件具有 DefaultUploadedFile 类型类,但我需要 File 类类型。我尝试投射它,但出现投射错误,所以我找到了另一个解决方案,它使用 DefaultUploadedFile URI 创建文件

selectedFile=new File(Uri) 

但我找不到从中检索它的方法event.getFile()

任何想法将不胜感激

4

2 回答 2

2

我认为您不能将 ist 转换为java.io.File. 该getFile()方法返回的实例是类型的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

在您的方法InputStream中,从UploadedFile. 并且从InputStream它很容易获得File。示例(如何在 Java 中将 InputStream 转换为文件

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