使用Primefaces fileUpload组件,当用户单击“取消”时是否会触发事件?

时间:2012-03-12 14:13:37

标签: java jsf upload primefaces

我正在使用Primefaces 3.0.RC1并且在表单上我有一个<p:fileUpload mode="advanced" auto="true">组件。这有一个fileUploadListener,它将临时文件的副本写入磁盘。

问题是(当上传文件时一切运行正常)如果在将文件写入磁盘时用户单击“取消”按钮,该文件可能已经部分写入磁盘,但我需要是能够在那时删除它。用户单击取消时是否触发了事件?

编辑:为了澄清,在执行文件上传事件处理程序时,取消按钮仍然可见(并且可单击)。仅当用户此时单击取消时才会出现此问题。在文件仍然上传到服务器时单击取消是可以的。

1 个答案:

答案 0 :(得分:1)

我建议您设置一个专用的临时目录来接收上传的文件,这要归功于uploadDirectoryFileUploadFilter的{​​{1}}参数:

web.xml

我猜您的代码已经将完全上传的文件移动到其确定的位置。

我建议您配置一个常规作业(例如Quartz)从上传目录中删除任何超过一小时(或可配置超时)的文件。