J'essaie d'utiliser la négociation de contenu pour donner à la fois un HTML et une représentation RDF/XML d'une ressource sur un serveur HTTP. Du côté serveur, cela fonctionne, c'est-à-direComment télécharger un fichier avec un type de contenu non HTML depuis un navigateur?
curl -H "Accept: application/rdf+xml" http://localhost:8182/ontologies/1
récupérera la version correcte. Je peux également faire la même chose avec JavaScript/Dojo:
function downloadOntologyRDF(ontologyId) {
dojo.xhrGet({
url:"${baseUrl}/ontologies/" + ontologyId,
headers: {"Accept": "application/rdf+xml"},
timeout: 5000,
load: function(response, ioArgs) {
var preNode = document.createElement("pre");
preNode.appendChild(document.createTextNode(response));
var foo = new dijit.Dialog({
title: "RDF",
content: preNode,
style: "overflow: auto;"
});
foo.show();
return response;
},
error: function(response, ioArgs) {
alert("Retrieving the RDF version failed: " + response);
return response;
}
});
}
qui affiche le résultat dans une boîte de dialogue contextuelle. Le point où je suis coincé offre un moyen à l'utilisateur de télécharger cette version. Je voudrais avoir un lien sur la page qui affiche le RDF comme une page dans le navigateur ou ouvre directement la boîte de dialogue de sauvegarde. Est-ce possible sans recourir à des paramètres de requête ou à d'autres astuces?
Je soupçonne qu'il n'y a pas un moyen de mettre à part les choses côté serveur comme les paramètres de requête – cobbal