2013-02-28 133 views
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()); 
       } 
    } 
} 

什麼解決我的問題?

+0

我bean類添加enctype="multipart/form-data"到您的表單標籤,就像是從來沒有invoked.What是什麼原因呢? – queans 2013-02-28 08:48:48

+0

Primefaces V3.5 02月4日發佈的http://blog.primefaces.org/?p=2436 – 2013-02-28 13:18:03

+0

Thanks.But我需要使用Primefaces 2.2.1 – queans 2013-03-01 05:10:55

回答

0

嘗試在此example

+0

我想它。但是它不工作來完成我的工作。 – queans 2013-02-28 08:47:04