Page 1 sur 2

Download File avec Ajax

Posté : 16 mars 2010, 14:11
par Yosh
Salut à tous,

Petite question du jour,

Avez-vous déjà réaliser un script de téléchargement de fichier en AJAX?

Si, oui, pouvez-vous me donner la procédure à suivre.

EN vous remerciant.

Re: Download File avec Ajax

Posté : 16 mars 2010, 14:27
par stealth35
download ou upload ?

Re: Download File avec Ajax

Posté : 16 mars 2010, 16:32
par Yosh
download ou upload ?
Simplement download...et je suis actuellement sur une piste avec une iframe...

Re: Download File avec Ajax

Posté : 16 mars 2010, 16:35
par stealth35
tu peux pas c'est le client qui gère ca

Re: Download File avec Ajax

Posté : 16 mars 2010, 16:50
par Yosh
tu peux pas c'est le client qui gère ca
Oui, mais réussit tout de même...

Le principe,

1/ Une iframe invisible de 1px par 1px
2/ appel Javascript modificant le src de mon iframe du style

Code : Tout sélectionner

$("#frame_download").attr("src","ajax/download.php?file_guid="+file_guid+"&file_name="+file_name);
3/ Mon fichier download.php
header("Content-Type: application/force-download; name=\"".basename($file)."\"");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize("$path"));
header("Content-Disposition: attachment; filename=\"".basename($file)."\"");
header("Expires: 0");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
readfile("$path");
exit();
Et la plus de soucis...

Fonctionne sur IE8 et Firefox 3.6, pas eu le temps de tester les autres navigateurs, mais vu que dans mon boîte on est FULL internet explorer, pas de soucis (enfin faut que je test sur IE7 qd même).

Re: Download File avec Ajax

Posté : 16 mars 2010, 17:23
par stealth35
ca sert a quoi ? :shock:

Re: Download File avec Ajax

Posté : 16 mars 2010, 17:58
par Yosh
ca sert a quoi ? :shock:
Récupérer des fichiers distants en UNC

Re: Download File avec Ajax

Posté : 16 mars 2010, 18:03
par stealth35
aucun rapport avec AJAX, c'était quoi ton problème à la base ?

Re: Download File avec Ajax

Posté : 16 mars 2010, 19:40
par Yosh
aucun rapport avec AJAX, c'était quoi ton problème à la base ?
Je devais donner la possibilité via un context menu (via un clic droit) de télécharger, imprimer et envoyer par mail un document dans une liste de document tiré de la GED de notre ERP...

Re: Download File avec Ajax

Posté : 16 mars 2010, 22:46
par Nours312
et un simple <a href="ajax/download.php?.... " target="_blank" > click ici</a> ne convenait pas !?

Re: Download File avec Ajax

Posté : 17 mars 2010, 00:05
par Yosh
et un simple <a href="ajax/download.php?.... " target="_blank" > click ici</a> ne convenait pas !?
Ba non vu que toutes les fonctionnalités devait être présentés dans un menu au clic droit...sinon je me serais effectivement pas pris la tête.

Re: Download File avec Ajax

Posté : 17 mars 2010, 01:16
par Nours312
oups, désolé, ... tu as aussi window.open() mais ta réponse sera : "ben non, vu que 75% des utilisateurs bloquent les popUp ^^ " ...
Et vu que window.location = href risque fort de fermer la fenêtre ... Ben, j'ai perdu une occasion de me taire ... :D

Re: Download File avec Ajax

Posté : 17 mars 2010, 09:52
par Yosh
oups, désolé, ... tu as aussi window.open() mais ta réponse sera : "ben non, vu que 75% des utilisateurs bloquent les popUp ^^ " ...
Et vu que window.location = href risque fort de fermer la fenêtre ... Ben, j'ai perdu une occasion de me taire ... :D
Non non pas de soucis.

Re: Download File avec Ajax

Posté : 17 mars 2010, 11:16
par stealth35
je vois toujours pas, fraudais que tu me montre, parce que un lien <a> avec le force download derrière ca t'ouvre direct la fenêtre de download du client
au depart je croyais que tu voulais faire du "Download File avec Ajax" donc télécharger un fichier via ajax (sans passer par le ouvrir ou enregister sous et compagnie) pour que ca aille sur la machine client

Re: Download File avec Ajax

Posté : 17 mars 2010, 12:18
par Nours312
au clic droit.

si il veux que ça charge suite à un click droit c'est que le "click gauche" est utilisé à autre chose ...et donc tu ne peux pas utiliser de <a> !...

je me suis fait eu aussi :oops: