2010-02-03 10 views
0

Utilisation de SWFUpload v2.2, Firefox 3, IE 8, Flash 10
Dans mon application ASP.NET, tous les téléchargements sont traités par upload.aspx (j'ai le bon jeu upload_url dans l'objet settings).
Quelqu'un peut-il me dire pourquoi (dans Firefox) les téléchargements ne touchent jamais la page upload.aspx?
En utilisant SWFUpload, pourquoi mes téléchargements ne sont-ils pas traités par upload.aspx lors de l'utilisation de Firefox (ils sont traités correctement dans IE)?

La plupart du code de la page que les visites d'utilisateurs pour télécharger un fichier est affiché ici (note: les pages principales sont utilisées):

<script type="text/javascript" src="../swfupload/swfupload.js"></script> 

<script type="text/javascript" src="../js/handlers.js"></script> 

<script type="text/javascript"> 
    var swfu; 
    window.onload = function() { 
     swfu = new SWFUpload({ 
      // Backend Settings 
      upload_url: "../upload.aspx", 
      post_params: { 
       "ASPSESSID": "<%=Session.SessionID %>" 
      }, 

      // File Upload Settings 
      file_size_limit: "10 MB", 
      file_types: "*.*", 
      file_types_description: "All Files", 
      file_upload_limit: 1, 
      file_queue_limit: 1, 
      //assume_success_timeout: 60, 

      // Event Handler Settings - these functions as defined in Handlers.js 
      // The handlers are not part of SWFUpload but are part of my website and control how 
      // my website reacts to the SWFUpload events. 
      file_queue_error_handler: fileQueueError, 
      file_dialog_complete_handler: fileDialogComplete, 
      upload_progress_handler: uploadProgress, 
      upload_error_handler: uploadError, 
      upload_success_handler: uploadSuccess, 
      upload_complete_handler: uploadComplete, 

      // Button settings 
      button_image_url: "../Images/XPButtonNoText_160x22.png", 
      button_placeholder_id: "spanButtonPlaceholder", 
      button_width: 160, 
      button_height: 22, 
      button_text: '<span class="button">Upload File<span class="buttonSmall">(10 MB Max)</span></span>', 
      button_text_style: '.button { font-family: Helvetica, Arial, sans-serif; font-size: 14pt; } .buttonSmall { font-size: 10pt; }', 
      button_text_top_padding: 1, 
      button_text_left_padding: 5, 

      // Flash Settings 
      flash_url: "../swfupload/swfupload.swf", // Relative to this file 

      custom_settings: { 
       upload_target: "divFileProgressContainer" 
      }, 

      // Debug Settings 
      debug: false 
     }); 
    } 
</script> 

+0

Bienvenue chez SO. Pouvez-vous montrer du code? Le code généré que vous utilisez pour appeler SWFUpload serait sympa. –

+0

J'ai ajouté le code de la page que l'utilisateur visite pour télécharger un fichier. Est-ce le code auquel vous faites référence? –

Répondre

0

Bonne chance que puisque cela travaille dans IE et non dans Firefox et que vous essayez de faire une authentification (post_params donc: { "ASPSESSID": "<% = Session.SessionID%>" },) vous frappez le flash/firefox/opera "bug"/problème. Dans ce cas, le programme de mise en ligne Flash s'exécute dans son propre contexte et non dans le contexte partagé et ne peut pas accéder aux cookies pour le sessionID. Utilisez un débogueur pour vérifier et voir ce qui est généré ou si vous avez une erreur là-bas.

Il ya plusieurs threads dans le forum ici, je pense que certains pour ASP (pas ma spécialité) qui donnent des solutions de contournement. Rechercher flash, upload, sessionId et (ASP)

+1

Je ne pense pas que ce soit le point, il passe explicitement l'identifiant de session à Flash afin qu'il puisse le transmettre au script de téléchargement. Flash lui-même n'a pas besoin d'accéder au cookie de session. –

0

Le code est o.k. pour moi.

  • La console Firefox affiche-t-elle des erreurs?

  • Pouvez-vous essayer d'utiliser des chemins relatifs à la racine Web /xyz/swfupload/upload.aspx pour vous assurer que les chemins relatifs ne sont pas résolus différemment?

  • Êtes-vous 100% sûr que votre fichier aspx n'est pas appelé? Ou pourrait-il être juste que le processus d'authentification se passe mal pour une raison quelconque? Pouvez-vous mettre une commande de journal ou de courrier dans la 1ère ligne du fichier ASPX?

  • Le processus de téléchargement démarre-t-il et affiche-t-il une barre de progression? SWFUpload est livré avec des crochets de gestionnaire d'erreurs. Est-ce qu'aucun d'entre eux ne lance un message d'erreur?