Télécharger plusieurs fichiers sans utiliser de fichier zip
J'ai un générique gestionnaire Document.ashx
qui crée des documents Word à la volée par la lecture des informations de la chaîne de requête comme ceci Document.ashx?clientid=123&documentid=10
et il fonctionne parfaitement.
J'ai besoin de créer une interface avec une liste de cases à cocher et un Download All
bouton. La meilleure idée que j'ai eu jusqu'à présent est d'utiliser quelque chose comme cela pour faire les appels pour le gestionnaire.
$("body").append("<iframe src='Document.ashx?clientid=123&documentid=10'></iframe>
<iframe src='Document.ashx?clientid=123&documentid=11'></iframe>")
Chrome et Firefox gérer cela comme prévu, bien que IE9 invite l'utilisateur à demander si ils veulent sauver le premier fichier, mais ignore les fichiers suivants.
Comment puis-je commencer le téléchargement de plusieurs fichiers à partir de la client?
C'est pour un site intranet afin que les fichiers sont toujours générés dans ~1 seconde, les utilisateurs seraient en sélectionnant ~3 à 5 documents à la fois. La grande majorité des utilisateurs sont à l'aide de IE9. Je peux dire à tout le monde qu'ils ont d'utiliser Firefox ou Chrome, mais je préfère trouver une solution qui fonctionne dans tous les navigateurs modernes.
Je ne veux pas créer un fichier zip côté serveur, car alors ils l'ont toujours fait pour décompresser d'abord (ce qui sera trop difficile pour certains de comprendre) et il les ralentit.
source d'informationauteur Greg
Vous devez vous connecter pour publier un commentaire.
Donc c'est probablement exagéré, mais travaille dans IE9, FF7, et Chrome 16:
Inspiré par cette SORTE de post
Plugins jQuery:
C# dans le gestionnaire de:
Javascript/jQuery:
plugin jQuery qui va faire le travail pour vous:
github.com/biesiad/multiDownload
Cela peut ou peut ne pas résoudre votre problème, mais vous faites une erreur courante ici. Iframes ne sont pas auto-balises de fermeture. De nombreux navigateurs ne sera pas analyser correctement ce html. Essayez de rendre
Aussi, vous voulez essayer d'ajouter chaque iframe de façon indépendante, que les navigateurs ne peuvent pas être reconnaissant les images correctement lorsqu'il est ajouté tout à la fois:
Je sais que c'est une vieille question, mais j'ai eu ce problème récemment et a créé cette solution la mieux adaptée à mes besoins (je n'ai pas envie d'utiliser des cookies et je voulais le code pour être aussi simple que possible). Dans le code behind:
Voici les fonctions javascript:
Mettre DownloadFile(id) à l'intérieur d'une boucle fonctionne bien.
En gros, j'ai trouvé chrome fonctionne bien avec la manipulation de l'iframe, mais IE n'est pas (j'utilise IE9). Ce travail a été pour moi sur Chrome v26, FF v19, IE9.
Vous pouvez appeler à télécharger dans une boucle javascript comme ceci: