用户在rich:upload中选择文件后取消上传

时间:2015-01-14 13:59:57

标签: file-upload jsf-2 richfaces

用户在richfaces rich:fileUpload控件中选择文件后是否有可能取消文件上传?

我的用例如下:

  1. 用户选择文件。
  2. 我在上传之前在客户端验证文件名。文件掩码有点复杂,因此使用acceptedTypes是不够的。
  3. 如果验证正常,则上传文件,否则为 显示错误消息(通过alert()或最好是rich:messages)
  4. 我一直试图通过onfilesubmit中的js函数或onfileselect返回false取消事件来实现这一目标,但这并不起作用。

    作为一种解决方法,我可以在上传监听器中验证文件名,但只有在上传文件后才会执行监听器代码。由于上传的文件可能很大(甚至高达几百MB或几GB),这将是一个巨大的可用性缺陷。

1 个答案:

答案 0 :(得分:1)

如果您需要保持立即上传,那么最简单的方法是使用验证覆盖RichFaces.ui.FileUpload.prototype.__accept方法,该方法采用文件名并返回true / false。