2010-10-19 3 views
0

J'utilise asp + asppdf (un composant pour créer des fichiers pdf). asppdf a une méthode appelée SaveHTTP qui amène le navigateur à ouvrir la boîte de dialogue "save-as" pour sauvegarder le pdf. le composant envoie donc le pdf sous forme de données binaires au navigateur.asp: ouvre la boîte de dialogue "save-as" pour PDF (en utilisant asppdf + xmlhttp)

ma question: je voudrais charger le pdf via xmlhttp + puis ouvrir cette boîte de dialogue. chargement fonctionne (je reçois les données) - mais je ne suis pas sûr de savoir comment appeler la boîte de dialogue Enregistrer en tant que.

des idées si c'est possible?

grâce

+0

Essayez-vous de le faire en utilisant AJAX? – SLaks

+0

J'utilise jQuery et $ .ajax (envoi d'un 'post') – Fuxi

Répondre

2

Vous devez ajouter un en-tête Content-Disposition: attachment à la réponse HTTP.

EDIT: Il n'est pas possible d'afficher un dialogue de sauvegarde en utilisant AJAX.
Au lieu de cela, vous pouvez définir location.href à l'URL PDF (avec Content-Disposition: attachment), ce qui fera ce que vous essayez d'accomplir. (Vous pouvez également POSTER un <form> caché)

+0

merci pour votre réponse. dans mon ServerScript j'ai ajouté l'en-tête comme ceci: Response.AddHeader "content-disposition", "pièce jointe; filename =" "myfile.pdf" "" devrait être bon - je peux voir l'en-tête dans firebug mais - pas de sauvegarde- comme Dialoguer :( – Fuxi

+0

Essayez de régler 'Content-Type' à' application/octet-stream' – SLaks

+0

déjà fait - rien ne se passe encore .. mon code. m_file = "mypdf.pdf" Response.ContentType = " pdf " Response.AddHeader" content-disposition "," pièce jointe; nomfichier = "" "& m_file &" "" " Response.ContentType =" application/octet-stream " – Fuxi

Questions connexes