use*_*693 5 jsf file-upload glassfish primefaces
我的页面上有ap:fileUpload函数,每次上传文件时,我都无法在web.xml文件中指定的文件夹中找到它.
我已将以下罐子添加到我的库中:primefaces-3.2.jar commons-io-2.3.jar commons-fileupload-1.2.2.jar
这是我的web.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>C:\Users\SomeUser\Documents\NetBeansProjects\System\Upload\</param-value>
</init-param>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>1000000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<error-page>
<error-code>404</error-code>
<location>/404.jsf</location>
</error-page>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>aristo</param-value>
</context-param>
</web-app>
Run Code Online (Sandbox Code Playgroud)
我使用以下:PrimeFaces 3.2,JSF 2.0和GlassFish 3.1.1
任何帮助将不胜感激.谢谢
它默认将其存储在系统默认临时目录中,由java.io.tmpdir系统属性标识.您可以使用UploadedFile#getContents()或UploadedFile#getInputStream()获取文件内容并将其写入所需的文件夹.但您也可以通过过滤器的初始化参数更改默认上载位置.
把它放在<filter>文件上传过滤器的元素中:
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>/path/to/uploads</param-value>
</init-param>
Run Code Online (Sandbox Code Playgroud)
请注意,当您运行Windows时,它将相对于启动Web服务器的磁盘.所以如果是的话C:\,那么上面的init参数实际上将解析为C:\path\to\uploads.您还应该确保此文件夹已经预先准备好,因此存在且可写.
| 归档时间: |
|
| 查看次数: |
9651 次 |
| 最近记录: |