J'essaie d'obtenir des documents (par exemple pdf, Excel, Word Doc, etc) pour ouvrir dans une boîte de téléchargement. pour une raison quelconque, les fichiers Excel fonctionnent correctement, mais aucun des autres ne le font. Je pense que j'ai besoin de setHeader en utilisant javascript (je crois que jquery n'a pas de fonctions de base qui font cela, mais corrigez-moi si je me trompe). voici un échantillon de mon code.force mot docs, pdf, xls, etc à télécharger en cliquant sur un lien avec jquery
$(function() {
$('a.media-link').click(function(event){
var fileName = $(this).html();
var property_id = $("input[name=capturePropId]").val();
//alert(fileName);
event.preventDefault(); //stop the browser from following
window.location.href = '../uploads/properties/'+
property_id+'/media/'+fileName+'';
response.setHeader("Content-Disposition", "attachment;
filename=\"" + fileName + "\"");
});
});
Quand je fais cela, je reçois une erreur « réponse response.setHeader est undefinded. Quelqu'un at-il des idées?
ok je suis avec vous jusqu'ici. Je suppose que je suis confus sur où dans le fichier mon php je dois définir l'en-tête. Peut-être que mes fichiers sont aussi mélangés avec des langues différentes. J'ai des onglets jquery allant une diapositive jquery allant toutes sortes de données tirées de la base de données. cela ne vous aide probablement pas à mieux comprendre pourquoi je ne peux toujours pas saisir ce concept, mais il pourrait le faire. Je comprends comment faire à votre façon si j'ai soumis un formulaire, mais je ne peux pas comprendre comment définir l'en-tête d'une balise d'ancrage. –
Vous ne pouvez pas définir les en-têtes des ensembles en JavaScript et définir les en-têtes côté serveur qui génèrent la page avec le lien n'aideront pas. Vous devez définir cet en-tête sur le serveur sur le gestionnaire d'URL qui renvoie les fichiers. Dans votre cas, il semble que vous deviez faire en sorte que ../uploads/properties/XXX/media/FILE.NAME Urls soit géré par votre code serveur (PHP) et renvoie le flux de fichier avec les en-têtes supplémentaires. –