2011-03-24 2 views

Répondre

1

Comme je l'ai dit dans le commentaire, je déteste répondre à mes propres questions, mais je trouve cette solution: http://blog.mikestead.me/upload-multiple-files-with-a-single-request-in-flash/ et il fonctionne vraiment bien et est tout à fait code complet, je devais faire pratiquement pas noodling du tout. La seule chose que les docs échouent à détailler (que j'ajouterai ici) est que du côté serveur (en particulier en PHP) les fichiers arrivent en hash indexés par le nom de variable que vous avez défini. Alors, quand vous ne

urlVariables["image1"] = new URLFileVariable(filePicker.data, filePicker.name); //this adds your file to the request in flash 

Puis sur le côté PHP, vous trouverez ce fichier dans

$_FILES["image1"]["tmp_name"]; 
+0

Merci de poster ceci, c'est un bon suppléant à la classe que je mentionne. FWIW, j'ai parcouru la source pour cette classe et je fais aussi une requête multipart/form-data. Il est cependant un peu plus simple à utiliser. – mpdonadio

0

Vous disposez de deux méthodes: passer comme un éclair, ou le suivi de plusieurs téléchargements.

Si vous souhaitez compresser les fichiers, voici un parcours on how to go about zipping, uploading, and unzipping from AIR.

Si vous voulez télécharger plusieurs fichiers, ce que vous devez faire est d'avoir un tableau de booléens ou un compteur qui garde la trace du nombre de téléchargements ont été démarrés. Ensuite, sur un événement capturant la fin du téléchargement, les booléens doivent être passés de false à true ou un autre compteur doit compter les complétions. Une fois que tous les booléens sont vrais ou que les valeurs des deux compteurs correspondent, vous savez que tous les fichiers ont été téléchargés.

Voici quelques pseudo-code:

fileCount= 0 
fileUploadCompleteCount = 0 

foreach(file in fileArray) 
    fileCount++ 
    file.listenForUploadComplete(uploadComplete) 

function uploadComplete() 
    fileUploadCompleteCount++ 
    checkUploadProgress() 

function checkUploadProgress() 
    if(fileUploadCompleteCount == fileCount) 
     // all files have been uploaded 
+0

non non ... Je ne veux pas faire plusieurs ajouts, je veux faire 1 télécharger, rempli de plusieurs fichiers et d'autres paramètres. J'ai trouvé la réponse ... Je l'afficherai bientôt. –

1

Vous pouvez faire un téléchargement de formulaire multipart. Je pense que la classe que j'ai utilisée est http://blog.inspirit.ru/?p=139, mais je devrais vérifier quand je serai au bureau.

EDIT: Oui, le lien ci-dessus est correct. Cette classe particulière rend les téléchargements de fichiers et multipart/form-data à peu près pas une évidence dans AS3.

+0

c'est une bonne réponse, mais j'en ai trouvé une encore plus complète ... Je déteste répondre à mes propres questions, mais dans ce cas, je pense avoir la meilleure réponse. Je vous ai donné un 1 si! :) –

Questions connexes