PHP Téléchargement de Fichier à l'aide de publier des données via AJAX de jQuery
Donc je sais qu'il y a eu un certain nombre de similaire posts, mais je pense que c'est assez d'une variation de justifier son propre question:
Je suis de la construction d'une XLS exportateur en PHP et jQuery. Je suis en train de publier un tableau avec jQuery (qui je crois va être trop long comme une querystring), et l'utiliser pour créer un fichier XLS sur mon serveur, l'utilisateur peut ensuite télécharger.
J'ai utilisé caché iframes dans le passé pour accomplir cela, mais depuis ils ont juste rediriger vers une url, cela m'oblige à utiliser GET, ce qui me rend nerveux.
Ma question est donc: comment faire pour stocker ces fichiers sur mon serveur, et de lier à eux si ils sont générées dynamiquement, ce qui pourrait par plusieurs utilisateurs? Serait caché iframe lien vers un autre script PHP qui permet de localiser LEUR fichier basé sur un ID de session ou quelque chose comme ça?
Merci d'avance pour tout conseil sur ce que je suis sûr que l'on pose tout le temps 🙂
OriginalL'auteur Trafalmadorian | 2010-08-31
Vous devez vous connecter pour publier un commentaire.
Il est possible de POSTER une iframe masqué. Par conséquent, vous n'avez pas besoin de vous soucier de la longueur de la chaîne de requête; vous afficherons les paires clé/valeur qui va générer votre fichier XLS et ensuite forcer le téléchargement de fichier dans le navigateur.
Mise à JOUR
Une rapide recherche sur Google tourné cet article: http://particletree.com/notebook/ajax-file-download-or-not/
Fondamentalement, la suggestion est de POSTER votre formulaire à la page en cours et de répondre avec un téléchargement de fichier. Cette alternative pourrait être assez bon pour vous.
Fascinante. Je vais l'essayer dès maintenant...si ça marche, je vais accepter votre réponse 🙂
Vous êtes correct. Il est obsolète en HTML 4.1 et XHTML 1.0. Cependant, son valide en XHTML 1.0 Transitional, et il est toujours pris en charge par la plupart des principaux navigateurs. w3schools.com/TAGS/att_form_target.asp
UNFRIGGINBELIEVABLE!!!!!! Qui aurait pu penser que ce pouvait être simple! Merci beaucoup pour la grande recherche sur ce point. Tout ce que j'avais à faire était de créer un formulaire, modifiez la valeur de son entrée et le soumettre avec jquery!
Ouais juste un rapide résumé de quelques mois plus tard...l'attribut target n'est pas nécessaire sur le formulaire, vous pouvez le faire avec seulement l'attribut action!
OriginalL'auteur simeonwillbanks
Cela semble comme il devrait être assez simple, mais tout dépend d'où vous êtes à placer ces fichiers XLS vous êtes génération. Si vous avez l'intention que le réponse pour le poste devrait être un "Enregistrer le Fichier" dialogue — qui est, le fichier lui-même — alors tout ce que vous avez à faire est de vous assurer que le "Content-Disposition" de l'en-tête est réglé sur "pièce jointe", et ensuite diffuser le contenu du fichier.
Si vous allez générer le fichier et de le garder, eh bien, vous allez avoir à le stocker dans un endroit avec un identifiant. Dans ce cas, vous devriez juste de répondre avec un ordinaire de la page qui a un "télécharger", tels que le lien inclut l'identificateur de fichier. Que peut déclencher un GET ou un POST, et le serveur devrait répondre à que à peu près comme je l'ai décrit ci-dessus.
Caché
<iframe>
ne fait pas vraiment figure en cela, à mon avis.OriginalL'auteur Pointy