【发布时间】:2011-07-22 01:21:37
【问题描述】:
我正在浏览一些博客,试图找到如何使用 JSF 2.0 上传文件 但是所有的解决方案都让我感到困惑。我想知道我究竟需要什么才能成功上传文件(MP3、PDF、视频......无论输入什么类型)并将其作为@Lob 存储在数据库中。 这是我到目前为止所做的:
我创建了一个具有 byte[] 类型属性的实体,并且还使用 @Lob 注释进行了注释。
我创建了一个 EJB,它将使用以 byte[] 作为参数的方法引入实体,并使用 EntityManager 类(持久方法)将其插入数据库。
我创建了一个带有“文件”类型的输入标签和一个提交按钮的 JSF 页面
我准备了一个托管 bean 来与 JSF 页面交换有关文件的信息。
现在我被卡住了,我有很多疑问:
我应该怎么做才能将文件从 JSF 传递到托管 bean,然后将其转换为 byte[](以便能够将其处理到 EJB)?
servlet 如何帮助我?
我需要一个 servlet 来执行此操作吗?
另外我发现在一些博客中提到了一些关于 servlets 3.0 的内容,但是我不知道我的工作环境是否在使用它,如果我使用的是 servlets 3.0(我使用的是 JEE6)怎么办?
我以前从未上传过文件,而且我对 servlet 也不是很熟悉。我很困惑,有人可以给我一些入门提示吗?
【问题讨论】:
-
JSF 2.2 正在获得一个支持 Ajax 的文件上传组件,称为 InputFile。更多详情:jdevelopment.nl/jsf-22/#802
标签: jsf file-upload jsf-2