2010-05-05 21 views
1

Nous utilisons l'utilitaire de servlet de téléchargement de fichiers GXT (EXT + GWT) et Apache. Nous avons des téléchargements de fichiers qui fonctionnent mais certains types ne sont pas téléchargés, par exemple des fichiers texte. Même si les fichiers texte ont leur extension modifiée, ils ne sont toujours pas téléchargés.Le téléchargement de fichiers dans GXT discrimine certains types de fichiers

Dans la méthode FileUploadBase.parseRequest, il s'agit du code qui semble être détecté pour ignorer le flux d'entrée à copier dans le système de fichiers. J'ai essayé de mettre en gras le code iter.hasNext() qui saute la ligne de code stream.copy quand je casse le téléchargement pour un fichier texte.

Un conseil serait apprécié!

Merci d'avance.

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); 
... 

Répondre

0

Cela ne vous répondre à la question, mais je peux trouver utile de parler d'une bonne bibliothèque pour le téléchargement de fichiers dans GWT
GWTUpload est une bibliothèque pour télécharger des fichiers vers des serveurs Web, montrant une barre de progression avec des informations réelles sur les le processus (taille du fichier, octets transférés, etc.) Il utilise les requêtes ajax pour demander au serveur Web la progression du téléchargement. Il a deux composants écrits en Java, le côté serveur avec les classes servlet et utility, et le côté client qui est compilé en javascript en utilisant gwt. here