3

我需要上传文件 ajax 以便我可以显示上传文件的名称,但不添加任何 jar 文件,如 primefaces、richfaces。

我的表单在对话框中,我有一个上传按钮,该按钮应该通过 ajax 调用方法。我的代码是这样的......

<h:commandButton value="Upload" action="#{bean.uploadMethod}">
<f:ajax listener="#{bean.abcMethod}" event="click"/>
</h:commandButton>

而且我还想知道我是否可以浏览,将文件名保留在某个列表中以显示,然后我可以提交整个表单。此提交还应上传我在列表中显示名称的那些文件。可能吗?

4

2 回答 2

2

我也在努力通过 AJAX 上传文件(图像)。我已经寻找了几种方法以及 Google 或 Dropbox 等公司如何实现这一点。

到目前为止,我找到了两种方法:

  • 使用 aniframe提交文件。这实际上不是 AJAX,因此它适用于大多数浏览器。但是我还没有在 JSF 中看到一个实现(除了 PrimeFaces')。
  • 使用base64对文件客户端进行编码,通过AJAX发送并在服务器端解码。但是,我还没有看到 JSF 中的实现,而且过去几天我也没有时间来实际制作一些东西。

如果你想要一个快速的解决方案,你可以使用(可能)。但是您已经说过您不想使用其中之一。

也许有人很好,可以在这里发布一个真正的解决方案,但我想我会提出一两个想法。;-)

于 2012-12-17T19:58:45.573 回答
0

Primefaces 提供了 FileUpload 组件,它是一个完全支持 AJAX 的文件上传 JSF 组件。

这是展示示例

我不完全确定它是如何工作的,但我相信它通过 HTML5 利用了现代浏览器功能。此功能当然要求客户端是能够理解 HTML5 标记的现代浏览器。

于 2012-12-17T20:13:51.123 回答