Download File avec Ajax

Mammouth du PHP | 568 Messages

16 mars 2010, 14:11

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.

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 14:27

download ou upload ?

Mammouth du PHP | 568 Messages

16 mars 2010, 16:32

download ou upload ?
Simplement download...et je suis actuellement sur une piste avec une iframe...

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 16:35

tu peux pas c'est le client qui gère ca

Mammouth du PHP | 568 Messages

16 mars 2010, 16:50

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).

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 17:23

ca sert a quoi ? :shock:

Mammouth du PHP | 568 Messages

16 mars 2010, 17:58

ca sert a quoi ? :shock:
Récupérer des fichiers distants en UNC

ViPHP
ViPHP | 5462 Messages

16 mars 2010, 18:03

aucun rapport avec AJAX, c'était quoi ton problème à la base ?

Mammouth du PHP | 568 Messages

16 mars 2010, 19:40

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...

Mammouth du PHP | 661 Messages

16 mars 2010, 22:46

et un simple <a href="ajax/download.php?.... " target="_blank" > click ici</a> ne convenait pas !?

Mammouth du PHP | 568 Messages

17 mars 2010, 00:05

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.

Mammouth du PHP | 661 Messages

17 mars 2010, 01:16

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

Mammouth du PHP | 568 Messages

17 mars 2010, 09:52

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.

ViPHP
ViPHP | 5462 Messages

17 mars 2010, 11:16

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

Mammouth du PHP | 661 Messages

17 mars 2010, 12:18

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: