2010-09-17 5 views
0

Je travaille sur un projet dans lequel nous devons être en mesure de sélectionner plusieurs fichiers à télécharger en même temps. Puisque nous utilisons déjà YUI pour plusieurs autres choses, cela semblait être une requête assez simple. J'ai fait quelques recherches et j'ai décidé d'utiliser Uploader de YUI pour faire le travail.Problèmes avec Struts 2 et YUI Uploader

Construit un exemple simple pour se familiariser avec le composant. L'exemple simple était un JSP utilisant des bibliothèques YUI se connectant à une servlet en utilisant org.apache.commons.fileupload pour gérer les fichiers. Travaillé parfaitement. Je suis donc passé à l'intégration dans notre projet Struts 2. Tout fonctionne très bien jusqu'à ce que vous essayiez de télécharger puis il ne fait rien. J'ai donc essayé plusieurs choses et voici ce que j'ai trouvé.

Si je code la fonction de téléchargement pour YUI comme cette mise en fonction

() { // alert ("upload; fileID =" + fileID);

    if(fileID !=null) 
       { 
        uploader.uploadAll("http://localhost:8080/YUIUploaderTest/uploader","POST"); 
       } 

      } 

Cela fonctionne parfaitement. Les fichiers sont téléchargés et créés et les masses se réjouissent.

Si toutefois je change à ce qu'elle devrait être pour l'environnement de production

function upload() 
      { 
       //alert("upload; fileID=" + fileID); 

       if(fileID !=null) 
       { 
        uploader.uploadAll("/ECMS/certificate/massimportcertificate_uploadFiles.action","POST"); 
       } 

      } 

il ne fait rien, sauf jeter une erreur # 2038 du flash. Après beaucoup de recherches, j'ai pensé que peut-être l'url que j'essaie de transmettre est tout simplement incorrect. Mais si je mets cette URL dans mon navigateur avec le http://localhost:8080/ attaché à lui, il déclenche l'action.

La question est, quelle est l'origine de cette erreur 2038? Y a-t-il quelque chose dans les entretoises qui doit être configuré avant que le téléchargeur YUI ne fonctionne?

Merci!

Répondre

0

Vous devez spécifier un chemin absolu. Donner un chemin relatif ne fonctionnera pas. J'espère que cela aide!