【发布时间】:2011-05-22 06:24:17
【问题描述】:
我在 Primefaces 论坛上发布了我的问题,但没有人回复,所以我想我会在这里尝试。
我一直在尝试让 fileUpload 工作一段时间。我目前正在使用 mojarra 2.0.3 和 Tomcat 7 运行 RC2 构建。
我有一个对话框,其中包含类似这样的 fileUpload 组件。
<p:dialog id="uploadFileDialog" >
<h:form id="uplaodFileForm" prependId="false" enctype="multipart/form-data">
<p:fileUpload fileUploadListener="#{fileUploadController.uploadFile} auto="true"/>
</h:form>
</p:dialog>
fileUploadController 看起来像这样
public class FileUploadController {
public void uploadFile(FileUploadEvent event) {
byte[] file = event.getFile().getContents();
System.out.println("MADE IT INTO FILE UPLOAD !!! ");
}
}
由于某种原因,当文件上传时,它永远不会触发 fileUploadEvent 并且永远不会进入控制器。上传看起来像它的工作,flash 部分呈现并给人的印象是它正在做某事,但没有调用任何支持 bean。我似乎可以弄清楚我做错了什么,并且我已经阅读了几乎所有关于使用 primefaces 上传文件的帖子。有谁知道我做错了什么?
【问题讨论】:
-
PF 2.1 文件上传在 Tomcat 7.0.5 上也不起作用。我在每次上传尝试的服务器日志中看到
ViewExpiredException。 PF 论坛在几个主题中报告了相同的内容:“适用于 Tomcat 6,但不适用于 Tomcat 7”。您在服务器日志中看到什么了吗? -
对我来说,服务器日志中没有显示任何异常。它什么也没显示。但这不是好消息。有没有其他选择,所以我可以上传文件?这是我的应用程序的关键部分。
-
实际上,现在我调查了它,我得到了一个例外,那就是 java.lang.ClassNotFoundException: org.apache.commons.io.output.DeferredFileOutputStream 在旁注中,我要感谢你你博客上的代码。你用你的详细解决方案解决了我过去遇到的问题,真的为我节省了大量时间!非常感谢你所做的事情
-
提示:要在他人的 cmets 上回复不属于他们自己的帖子,请使用
@nickname自动通知他们。另见meta.stackexchange.com/questions/43019/… 至于我的ViewExpiredException问题,它可能会在2.2 RC2 中解决。还没试过。让我知道它是否有效。 -
@BalusC, @DesireToUpload:我现在使用的是 2.2RC2。尽管自从我使用 Glassfish 以来我还没有遇到
ViewExpiredException,但在我的情况下 fileUploadEvent 从未触发
标签: jsf jsf-2 primefaces