我使用primefaces上传文件组件一切正常: 我需要检索上传文件的问题:
public void handleFileUpload(FileUploadEvent event) {
selectedFile=(File) event.getFile();
}
上传的文件有DefaultUploadedFile类型类但我需要File类类型。我尝试强制转换,但是我得到了强制转换错误,所以我找到了另一个使用DefaultUploadedFile URI创建文件的解决方案
selectedFile=new File(Uri)
但我找不到从event.getFile()
任何想法都将受到赞赏
答案 0 :(得分:2)
我认为你不能将{is}强加给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
答案 1 :(得分:1)
在您的方法中,从InputStream
获取UploadedFile
。从InputStream
开始,File
是一种简单的方法。示例(How to convert InputStream to File in Java)
public void handleFileUpload(FileUploadEvent event) {
UploadedFile selectedFile = event.getFile();
InputStream inputStream = selectedFile.getInputstream();
...
}