0
工作我做使用Spring 3.0.6.RELEASE一個Web應用程序,並Primefaces 2.2.1.In我的應用程序有一個FileUpload component.However的文件上傳不working.And上傳()函數在backingbean中FileUploadController永遠不會被調用。Primefaces文件上傳不使用Spring
我包括這一個我的web.xml:
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
在我的index.xhtml
<p:dialog widgetVar="assetUploadDialog" modal="true" minHeight="300"
minWidth="550" closable="true" draggable="true"
closeOnEscape="true" header="Asset upload">
<h:form id="formuploader" >
<p:fileUpload id="fileuploader"
fileUploadListener="#{fileUploadController.upload}"
sizeLimit="100000"
allowTypes="*.jpg;*.gif;*.png;*.pdf;*.png;*.doc?x;*.xls;*.xlsx;"/>
</h:form>
</p:dialog>
在我FileUploadController梁類:
public class FileUploadController {
private String destination="D:\\";
public void upload(FileUploadEvent event) {
System.out.println("uplaod");
FacesMessage msg = new FacesMessage("Success! ", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
try {
copyFile(event.getFile().getFileName(), event.getFile().getInputstream());
} catch (IOException e) {
e.printStackTrace();
}
}
public void copyFile(String fileName, InputStream in) {
try {
OutputStream out = new FileOutputStream(new File(destination + fileName));
int read = 0;
byte[] bytes = new byte[1024];
while ((read = in.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
in.close();
out.flush();
out.close();
System.out.println("New file created!");
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
什麼解決我的問題?
我bean類添加
enctype="multipart/form-data"
到您的表單標籤,就像是從來沒有invoked.What是什麼原因呢? – queans 2013-02-28 08:48:48Primefaces V3.5 02月4日發佈的http://blog.primefaces.org/?p=2436 – 2013-02-28 13:18:03
Thanks.But我需要使用Primefaces 2.2.1 – queans 2013-03-01 05:10:55