渲染一个文件上载控件。这个控件必须通过在form中使用 multipart/form-data 的编码类型,例如:
<h:form enctype="multipart/form-data">
对于多部分请求,也必须在 web.xml 中配置Seam Multipart Servlet过滤器:
<filter> <filter-name>Seam Filter</filter-name> <filter-class>org.jboss.seam.servlet.SeamFilter</filter-class> </filter> <filter-mapping> <filter-name>Seam Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
配置
下列多部分请求的配置选项可以在 components.xml 中进行配置:
-
createTempFiles — 如果这个选择设置为true,上载好的文件就流向一个临时文件,而不是流向内存。
-
maxRequestSize — 允许上载文件的最大字节数。
下面是一个例子:
<component class="org.jboss.seam.web.MultipartFilter"> <property name="createTempFiles">true</property> <property name="maxRequestSize">1000000</property> </component>
属性
-
data — 这个值绑定接收二进制文件数据。 接收域应该声明为一个 byte[] 或者 InputStream (必要)。
-
contentType — 这个值绑定接收文件的内容类型(可选)。
-
fileName — 这个值绑定接收的文件名(可选)。
-
fileSize — 这个值绑定接收的文件大小(可选)。
-
accept — 可以接受的一个以逗号分隔的内容类型列表,可能浏览器不支持。 例如 "images/png,images/jpg"、"images/"。
-
style — 控件的样式,即CSS之类的
-
styleClass — 控件的样式类
用法
<s:fileUpload id="picture" data="#{register.picture}" accept="image/png" contentType="#{register.pictureContentType}" />