2010-12-03 6 views
5

J'ai un script php qui zippe une série de fichiers après qu'un utilisateur les sélectionne dans une liste. Je suis en train de faire un appel ajax à ce script, et je lui passe une série d'URL qui devraient être compressées. Je voudrais que ce fichier zip soit téléchargé automatiquement quand il a fini d'être zippé, et j'ai du mal à comprendre comment faire cela. Quel serait le meilleur moyen de forcer le téléchargement de ce fichier zip après son achèvement, en supposant que je passe l'URL du fichier zip de mon fichier php à mon fichier js?jquery télécharger un fichier sur rappel

Merci

Répondre

4

Avez-vous essayé:

success: function(resp) { 
    window.location.href = resp; 
} 

Cela suppose que la réponse est le nom du fichier en tant que chaîne.

1
window.location=zipfilePath; 

Le navigateur va essayer de passer à l'URL fournie, reconnaître que ce n'est pas une page Web, rester sur l'ancienne page et télécharger le fichier zip.

+0

Il le fera; mais cela provoquera également la plupart des versions de IE à apparaître une sorte d'erreur d'avertissement ActiveX, pour une raison quelconque, ou alors j'ai découvert il y a quelques jours. –

0

Faites simplement window.location = zipfileurl;.

Le navigateur saura qu'il ne peut pas ouvrir les fichiers zip, il va donc le télécharger.