2010-05-05 49 views
1

我們正在使用GXT(EXT + GWT)和Apache通用文件上載的servlet實用程序的某些文件類型。我們有文件上傳功能,但某些類型不會上傳,例如文本文件。即使文本文件的擴展名已更改,它們仍未上傳。文件上傳歧視

在FileUploadBase.parseRequest方法這是似乎是發現從被複制到文件系統跳過輸入流的代碼。我試圖加粗iter.hasNext()代碼,該代碼跳過stream.copy代碼行,當我斷開文本文件的上載時。

任何意見將不勝感激!

在此先感謝。

public List /* FileItem */ parseRequest(RequestContext ctx) 
     throws FileUploadException { 
    try { 
     FileItemIterator **iter = getItemIterator(ctx)**; 
     List items = new ArrayList(); 
     FileItemFactory fac = getFileItemFactory(); 
     if (fac == null) { 
      throw new NullPointerException(
       "No FileItemFactory has been set."); 
     } 
     while (**iter.hasNext()**) { 
      FileItemStream item = iter.next(); 
      FileItem fileItem = fac.createItem(item.getFieldName(), 
        item.getContentType(), item.isFormField(), 
        item.getName()); 
      try { 
       Streams.copy(item.openStream(), fileItem.getOutputStream(), 
         true); 
... 

回答

0

這不會回答你的問題,但我能找到講述在GWT上傳文件一個好的圖書館有用
GWTUpload是上傳文件到網絡服務器,顯示了有關的真實信息的進度條庫進程(文件大小,傳輸的字節等)。它使用ajax請求向Web服務器請求上傳進度。它有兩個用java編寫的組件,服務器端有servlet和實用程序類,客戶端用gwt編譯成javascript。 here