Как загрузить файл с содержимым, отличным от HTML, из браузера? - PullRequest
0 голосов
/ 20 марта 2009

Я пытаюсь использовать согласование содержимого, чтобы предоставить HTML и RDF / XML представление ресурса на HTTP-сервере. На стороне сервера это работает, т.е.

curl -H "Accept: application/rdf+xml" http://localhost:8182/ontologies/1

вернет правильную версию. Я также могу сделать то же самое с 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;
        }
    });
}

, который отобразит результат во всплывающем диалоговом окне. Точка, в которой я застрял, предлагает пользователю скачать эту версию. Я хотел бы иметь ссылку на страницу, которая либо отображает RDF как страницу в браузере, либо непосредственно открывает диалог сохранения. Возможно ли это вообще, не прибегая к параметрам запроса или другим хитростям?

Ответы [ 2 ]

0 голосов
/ 07 мая 2009

Как и коббальные упоминания - поскольку вы не можете установить заголовок Accept в самом URL, у вас должен быть дополнительный механизм согласования контента. Некоторые фреймворки позволяют задавать тип контента в форме

http://example.com/resource;format

Наличие format в конце URL-адреса, разделенных точкой с запятой. Затем при обработке запроса он анализирует часть формата.

В вашем случае это может быть что-то вроде

http://localhost:8182/ontologies/1;rdf

на сервер rdf, и не указан формат для обслуживания того, что находится в ваших заголовках принятия.

0 голосов
/ 20 марта 2009

На этой странице объясняется, как настроить страницу aspx, которая будет отображать RDF в браузере. Это может помочь вам. Хотя я не уверен, потому что вы еще не указали, что запускаете на своем сервере.

Создание RSS-канала стало проще

...