Jsf p:fileUpload在哪里保存我的文件?

Jsf p:fileUpload在哪里保存我的文件?,jsf,file-upload,glassfish,primefaces,Jsf,File Upload,Glassfish,Primefaces,我的页面上有一个p:fileUpload函数,每次我上传一个文件时,我似乎都无法在web.xml文件中指定的文件夹中找到它 我已将以下jar添加到我的库中:primefaces-3.2.jar commons-io-2.3.jar commons-fileupload-1.2.2.jar 这是我的web.xml文件: PrimeFaces文件上载筛选器 org.primefaces.webapp.filter.FileUploadFilter 上传目录 C:\Users\SomeUser\Do

我的页面上有一个p:fileUpload函数,每次我上传一个文件时,我似乎都无法在web.xml文件中指定的文件夹中找到它

我已将以下jar添加到我的库中:primefaces-3.2.jar commons-io-2.3.jar commons-fileupload-1.2.2.jar

这是我的web.xml文件:


PrimeFaces文件上载筛选器
org.primefaces.webapp.filter.FileUploadFilter
上传目录
C:\Users\SomeUser\Documents\NetBeansProjects\System\Upload\
阈值大小
1000000
PrimeFaces文件上载筛选器
Facesservlet
30
404
/404.jsf
主题
亚里士多德
我正在使用以下工具: PrimeFaces 3.2、JSF 2.0和GlassFish 3.1.1


任何帮助都将不胜感激。感谢

它默认情况下将其存储在系统默认临时目录中,由
java.io.tmpdir
system属性标识。您可以使用
UploadedFile#getContents()
UploadedFile#getInputStream()
获取文件内容并将其写入所需文件夹。但您也可以通过过滤器的初始化参数更改默认上载位置

将其放入文件上载筛选器的
元素中:


上传目录
/路径/到/上载

请注意,当您运行Windows时,它将相对于启动Web服务器的磁盘。因此,如果它是
C:\
,那么上面的init参数实际上将解析为
C:\path\to\uploads
。您还应确保此文件夹已事先准备好,因此存在并可写入。

再次感谢BalusC,它现在上载到正确的文件夹,但它是一个临时文件,不确定如何处理。它确实是一个临时文件。通常的方法是通过bean的action方法中的
FileOutputStream
获取其内容,然后使用所需的文件名将其写入所需的位置。如果上传程序设置为auto(native cuz jsf>=2.2),我应该如何更改文件位置?primefaces.UPLOADER自动